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

cURL – это универсальная команда, которую используют программисты для сбора и передачи данных. Хотите узнать, как можно использовать cURL для веб-скрапинга? Читайте статью ниже
1 min read
data collection and web scraping with cURL

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

Что такое 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

Подведем итоги

cURL является мощным инструментом веб-скрапинга. Однако он требует от компаний использования драгоценного времени разработчиков как с точки зрения сбора данных, так и с точки зрения их очистки. Компания Bright Data выпустила полностью автоматизированный парсер веб-страниц, который не требует написания кода. Предприятия могут собирать данные с целевых веб-сайтов одним нажатием кнопки или просто заказывать нужный набор данных. Это освобождает DevOps и других членов технической команды, чтобы они могли сосредоточиться на разработке продуктов и устранении неполадок.  

Не уверены, какой продукт выбрать? Свяжитесь с отделом продаж, чтобы найти подходящее для вас решение.

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

AI Web Scraping
Веб-данные

Как использовать ИИ для веб-парсинга

Из этого руководства вы узнаете, как выполнять парсинг веб-данных с помощью ИИ.
1 min read
How Tos

Как использовать прокси-серверы в Node.js

Скрейпинг веб-страниц как метод сбора данных часто затрудняется различными препятствиями, включая запреты на использование IP-адресов, геоблокировку и вопросы конфиденциальности. К счастью, прокси-серверы могут помочь вам справиться с этими проблемами. Они служат посредниками между вашим компьютером и Интернетом, обрабатывая запросы с использованием собственных IP-адресов. Эта функция не только помогает обойти ограничения и запреты, связанные с интеллектуальной […]
4 min read
How to Set Proxy in AIOHTTP
How Tos

Как настроить прокси-сервер в AIOHTTP

Узнайте из этого пошагового руководства, как настроить прокси-сервер в AIOHTTP
4 min read