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.

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

What is a data parser featured image

Что такое парсинг данных? Определение, преимущества и проблемы

В этой статье вы узнаете все, что вам нужно знать о парсинге данных. Мы подробно рассказали, что это такое, почему парсинг так важен и как лучше всего к нему подойти.
What is a web crawler featured image

Что такое веб-краулер?

Веб-краулеры (поисковые роботы) – важная часть инфраструктуры Интернета. В этой статье мы рассмотрим: Определение веб-краулера Веб-краулер — это программный робот, который сканирует Интернет и загружает найденные данные. Большинство краулеров работают под управлением поисковых систем, таких как Google, Bing, Baidu и DuckDuckGo. Поисковые системы применяют свои алгоритмы поиска к собранным данным, чтобы сформировать индекс своей […]
Python web scraping guide

Скрапинг веб-сайтов на Python — пошаговое руководство

Научитесь парсить веб-страницы с помощью Python, чтобы быстро собирать данные с нескольких сайтов с экономией времени и усилий.
ISP proxies Vs. Residential Proxies Understanding the difference once and for all

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

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

Веб-парсинг на PHP: пошаговое руководство

Узнайте, как легко создать и запрограммировать собственный простой веб-парсер на PHP с нуля.

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

«Насколько быстро работают IP?»; «Насколько эффективны в обходе блокировок целевых сайтов?»; «Насколько уникальны IP-адреса?»; «Сколько доступно локаций?»; « Сколько стоят прокси?» – в статье вы найдете ответы на эти вопросы и не только

Полное руководство по парсингу с Java

Не знаете, какие загрузить дополнительные инструменты для создания идеальной Java-среды для сбора данных? Не понимаете, как извлечь/разобрать точки данных из HTML, а затем преобразовать их в формат CSV? Данное руководство поможет разобраться.

Руководство №1 по обходу запретов IP-адресов в 2023 году

Узнайте, как изменить свой MAC-адрес, использовать VPN для изменения IP-адреса, очистить кэш компьютера, а также откройте для себя инструменты и советы по использованию прокси-решений.