cURL: Что это такое, и как его использовать для веб-скрапинга

cURL – это универсальная команда, которую используют программисты для сбора и передачи данных. Хотите узнать, как можно использовать cURL для веб-скрапинга? Читайте статью ниже
data collection and web scraping with cURL
Gal El Al of Bright Data
Gal El Al | Director of Support
23-Dec-2020

В этой статье вы узнаете:

Что такое cURL?  

cURL (также curl) — это инструмент командной строки, который можно использовать для передачи данных по сетевым протоколам. Имя cURL расшифровывается как «URL-адрес клиента». Эта команда использует синтаксис URL для передачи данных на серверы и с них. Curl работает на «libcurl» – бесплатной и простой в использовании библиотеке для передачи URL-адресов.

Почему выгодно использовать curl?  

Универсальность этой команды означает, что вы можете использовать curl по-разному, в том числе для:

  • Аутентификации пользователя
  • HTTP-сообщения
  • SSL-соединения
  • Поддержки прокси
  • FTP-загрузки

Простейший вариант использования curl –загрузка и выгрузка целых сайтов с использованием одного из поддерживаемых протоколов.

Curl протоколы  

Curl имеет длинный список поддерживаемых протоколов. Если вы не укажите конкретный протокол, по умолчанию будет использован HTTP. Список поддерживаемых протоколов:

dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, stmp, rtsp, scp, sftp, smb, sms, telnet, tftp

Установка curl  

Команда curl установлена по умолчанию в дистрибутивах Linux.

Как проверить, установлен ли у вас curl?

1. Откройте консоль Linux

2. Введите ‘curl’ и нажмите ‘Ввод’.

3. Если у вас уже установлен curl, вы увидите следующее сообщение:

окно терминала cURL try -help - ручные команды

4. Если у вас еще не установлен curl, вы увидите: ‘Команда не найдена’. Можете обратиться к своему дистрибутиву и установить его (подробнее об этом ниже).

Как использовать cURL

Синтаксис команды Curl довольно прост:

command line Curl options url

Например, если вы хотите загрузить веб-страницу: webpage.com, просто выполните команду:

curl command line webpage.com

Затем команда выдаст вам исходный код страницы в окне терминала. Имейте в виду, если вы не укажете протокол, curl по умолчанию будет использовать HTTP. Посмотрите пример – как определить конкретные протоколы:

ftp cURL command line syntax

Если вы забудете добавить ://, curl догадается, какой протокол вы хотите использовать.

Мы кратко рассказали о базовом использовании команды. Вы можете самостоятельно найти список опций на сайте документации curl. Опции – это возможные действия, которые можно выполнить с URL. Когда вы выбираете вариант, он указывает curl, какое действие выполнить для указанного URL. URL сообщает cURL, где он должен выполнить это действие. Затем cURL позволяет вам перечислить один или несколько URL-адресов.

Чтобы загрузить несколько URL, добавьте к каждому префикс -0, за которым следует пробел. Вы можете сделать это в одной строке или написать отдельную строку для каждого URL. Также можете загрузить часть URL, перечислив страницы. Например:

curl command line for multiple pages on website

 

Сохранение загрузки  

Вы можете сохранить содержимое URL в файл с помощью curl двумя способами:

1. Метод -o: Позволяет добавить имя файла, в котором будет сохранен URL. Этот вариант имеет следующую структуру:

Command line CURL filename

2. -O method: Здесь вам не нужно добавлять имя файла, так как эта опция позволяет сохранить файл под именем URL. Чтобы использовать вариант, просто добавьте к URL-адресу префикс -O.

Возобновление загрузки  

Может случиться так, что загрузка остановится на середине. В этом случае перепишите команду, добавив в начале параметр -C :

curl filename as URL

Почему curl так популярен?  

Curl — это инструмент, созданный для сложных операций. У него есть альтернативы, например, «wget» или «Kurly», которые хороши для более простых задач.

Curl – фаворит среди разработчиков, потому что доступен практически для каждой платформы. В некоторых установлен по умолчанию. Это означает, что какие бы программы/задания вы ни запускали, команды curl должны работать.

Кроме того, есть вероятность, что, если вашей ОС меньше десяти лет, у вас будет установлен curl. Вы также можете изучить документы в браузере и проверить документацию по curl. Если используете последнюю версию Windows, вероятно, у вас уже установлен curl. Если нет, прочтите эту статью на Stack Overflow, чтобы узнать больше.

Использование cURL через прокси  

Некоторые люди предпочитают использовать cURL в сочетании с прокси. Преимущества в этом случае следующие:

  1. Повышение способности успешно управлять запросами данных из разных геолокаций.
  2. Экспоненциальный рост числа заданий по работе с данными, которые можно выполнять одновременно.

Для достижения этой цели вы можете использовать возможности ‘-x’ и ‘(- – proxy)’, встроенные в cURL. Вот пример командной строки, которую вы можете использовать для интеграции используемого вами прокси с cURL:

$ curl -x 026.930.77.2:6666 http://linux.com/

В приведенном выше фрагменте кода – ‘6666’ – это номер порта, а ‘026.930.77.2’ – это IP-адрес.

  Полезно знать: cUrl совместим с большинством распространенных типов прокси, включая HTTP, HTTPS и SOCKS.  

Как изменить User-Agent  

User-Agents (пользовательский агент) – это характеристики, которые позволяют сайтам идентифицировать устройство, которое запрашивает информацию. Целевой сайт может потребовать определенные критерии, прежде чем вернуть данные. Это может относиться к типу устройства, ОС или браузеру. В этом сценарии компании, собирающие данные, захотят подражать идеальному «кандидату» своего целевого сайта.

Для примера предположим, что сайт, на который вы нацелились, «предпочитает», чтобы пользователи использовали браузер Chrome. Чтобы получить нужный набор данных с помощью cURL, необходимо эмулировать эту «черту браузера» так:

curl -A “Goggle/9.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Chrome/103.0.5060.71” https://getfedora.org/.

Веб-скрапинг с помощью cURL  

Совет для профессионалов: обязательно соблюдайте правила сайта и не пытайтесь получить доступ к защищенному паролем контенту, который по большей части является незаконным или не одобряется.

Вы можете использовать curl для автоматизации повторяющегося процесса скрапинга, чтобы избежать утомительных задач. Для этого понадобится PHP. Вот пример, который мы нашли на GitHub:

web scraping script in php using curl

При использовании curl для сканирования веб-страницы есть три опции:

  • – curl_init($url) -> Инициализирует сеанс
  • – curl_exec() -> Выполняет
  • – curl_close() -> Закрывает
code syntax for scraping a web page using curl

Другие параметры, которые вы должны использовать:

  • Curlopt_url -> Устанавливает URL-адрес, который вы хотите очистить.
setting the URL you want to scrape with cURL
  • Curlopt_returntransfer -> Призывает curl сохранить очищенную страницу как переменную. (Это позволяет получить именно то, что вы хотели извлечь со страницы.)
curl command line for saving scraped page as a variable

Устали от ручного парсинга веб-страниц?  

Компания Bright Data разработала полностью автоматизированное решение без кода, которое позволяет получить доступ ко всем сайтам и конкретным точкам данных в один клик.

Gal El Al of Bright Data
Gal El Al | Director of Support

Head of Support at Bright Data with a demonstrated history of working in the computer and network security industry. Specializing in billing processes, technical support, quality assurance, account management, as well as helping customers streamline their data collection efforts while simultaneously improving cost efficiency.

Вас также может заинтересовать

ISP proxies Vs. Residential Proxies Understanding the difference once and for all

ISP прокси & Резидентные прокси: в чем разница

Эта статья создана специально для тех, кто задается вопросами: «Какая прокси-сеть лучше для увеличения одновременных запросов?», «Как сравнить затраты на сеть?», «Какими преимуществами обладает каждый тип сети?».

Серверные прокси & Резидентные прокси: подробное сравнение

«Насколько быстро работают IP?»; «Насколько эффективны в обходе блокировок целевых сайтов?»; «Насколько уникальны IP-адреса?»; «Сколько доступно локаций?»; « Сколько стоят прокси?» – в статье вы найдете ответы на эти вопросы и не только
Browser Automation What it is and how your business can use it to hit a hole in one_'

Автоматизация браузера: что это такое и как ваш бизнес может ее использовать

Узнайте, как ваша компания может упростить тестирование производительности, проверку ссылок и сбор веб-данных с помощью «автоматизации браузера».
What is a proxy server & how does it work?

Что такое прокси-сервер и как он работает?

Эта статья охватывает все самое важное про прокси-серверы: особенности работы, актуальные типы, отличия от VPN. Изучите информацию, чтобы выбрать лучший инструмент для вашего бизнеса.