Colly против Proxies API
Table Of Content
Мир веб-парсинга разнообразен и сложен, и Proxies API занимает одно из самых важных мест. Они позволяют веб-парсерам обходить блокировки IP, используя одну конечную точку API для доступа к своим 20-миллионным высокоскоростным прокси с ротацией.
Пример:
curl "http://api.proxiesapi.com/?auth_key=YOUR_KEY&url=URL"
Одним из часто задаваемых вопросов является то, чем мы отличаемся от сервисов, таких как OctoParse или Diffbot. Часто это как сравнение яблок с апельсинами. Тем не менее, когда мы отправляем эту таблицу сравнения команде разработчиков наших клиентов, их руководству, маркетингу или SEO-команде, они обычно легко понимают, является ли наш сервис удобным или нет.
Вот в чем разница между нами и Colly.
Colly - это быстрый, масштабируемый и чрезвычайно популярный парсер/скрапер.
Он поддерживает парсинг веб-страниц, ограничение скорости, кэширование, параллельный парсинг, обработку cookie и сессий, а также распределенный парсинг.
Вот пример получения 2 URL-адресов параллельно.
package mainimport (
"fmt" "github.com/gocolly/colly/v2"
"github.com/gocolly/colly/v2/queue"
)func main() {
url := "" // Создание коллектора по умолчанию
c := colly.NewCollector(colly.AllowURLRevisit()) // Создание очереди запросов с 2 потоками обработки
q, _ := queue.New(
2, // Количество потоков обработки
&queue.InMemoryQueueStorage{MaxSize: 10000}, // Использование хранилища очереди по умолчанию
) c.OnRequest(func(r *colly.Request) {
fmt.Println("посещение", r.URL)
if r.ID < 15 {
r2, err := r.New("GET", fmt.Sprintf("%s?x=%v", url, r.ID), nil)
if err == nil {
q.AddRequest(r2)
}
}
}) for i := 0; i < 5; i {
// Добавление URL-адресов в очередь
q.AddURL(fmt.Sprintf("%s?n=%d", url, i))
}
// Обработка URL-адресов
q.Run(c)}
Colly против Proxies API