Перейти к основному содержанию
Go - отличный выбор для создания высокопроизводительных параллельных веб-парсеров. Интеграция прокси Catproxy выполняется просто с помощью пакета стандартной библиотеки net/http путем настройки пользовательского http.Transport.

Базовая настройка

Ключ к использованию прокси с аутентификацией в Go - создание пользовательского http.Client с Transport, в котором установлено поле Proxy.
basic_setup.go

Пример из реальной практики: парсинг заголовков Hacker News

Давайте создадим простое, но эффективное приложение на Go для парсинга заголовков лучших историй с главной страницы Hacker News (news.ycombinator.com). Это классическая цель для парсинга. Этот пример демонстрирует, как создать повторно используемую функцию для парсинга, что позволяет легко адаптировать ее для других целей. Мы будем работать с Hacker News так, как будто находимся в Великобритании (GB).
В этом примере используется пакет goquery для удобного парсинга HTML, аналогичного jQuery. Установите его командой: go get github.com/PuerkitoBio/goquery
hn_scraper.go

Как запустить

  1. Убедитесь, что у вас установлен Go.
  2. Установите пакет goquery: go get github.com/PuerkitoBio/goquery
  3. Сохраните код как hn_scraper.go.
  4. Запустите из терминала: go run hn_scraper.go

Ожидаемый результат

Terminal
Этот пример показывает, как чисто структурировать приложение для парсинга на Go, отделив создание прокси-клиента от основной логики парсинга. Этот шаблон можно легко расширить для параллельного парсинга с помощью горутин.