CoderCastrov logo
CoderCastrov
Парсер веб-страниц

Colly против Proxies API

Colly против Proxies API
просмотров
1 мин чтение
#Парсер веб-страниц
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