Рус
  • Eng
  • Рус
  • Укр

Как настроить прокси в Scraper API

Scraper API – это профессиональный инструмент для скрапинга веб-сайтов. Веб-скрапер позволит решить множество задач для эффективного ведения бизнеса. Он поможет быстро извлечь данные с необходимого ресурса и представить в удобном для дальнейшего анализа формате.

Это может быть поиск SEO-оптимизированных описаний товаров с сайтов конкурентов, мониторинг цен на товары в интернет-магазинах, сбор статистики активности (лайки, репосты, просмотры) посетителей, отслеживание последних новостей на информационном портале. Однако сайты блокируют IP-адреса, за которыми был обнаружен веб-скрапинг данных, поэтому для стабильной работы нужно настроить прокси для Scraper API.

Пошаговая настройка прокси в Scraper API

Для настройки прокси для скрапинга Scraper API выполните следующие действия:

  1. Создайте аккаунт на ресурсе ScraperAPI и на главной странице в категории «Dashboard» найдите поле «Sample Proxy Code».

  2. В поле “Sample Proxy Code” содержится код следующего вида:
    curl -x"http://scraperapi:APIKEY@proxy-server.scraperapi.com:8001" -k "http://httpbin.org/ip"
    
  3. Скопируйте его и вставьте в скрипт. Внесите следующие изменения в код:

    вместо «scraperapi» введите свой логин от приватного прокси;

    вместо «APIKEY» — пароль;

    вместо «proxy-server.scraperapi.com» — свой новый IP-адрес;

    через двоеточие — порт;

    после «-k» в кавычках нужно указать адрес страницы, с которой нужно собрать данные.

В итоге, должно выйти так:

curl -x"http://LOGIN:PASSWORD@IP-ADRESS:8001" -k "http://httpbin.org/ip"

Использовать команду "http://scraperapi:APIKEY@proxy-server.scraperapi.com:8001" можно для разных языков программирования, в зависимости от чего код может видоизменяться. Например, для Python пример запроса будет выглядеть так:

import requests

proxies = {
    "http": "http://scraperapi:APIKEY@proxy-server.scraperapi.com:8001"
}

r = requests.get('http://httpbin.org/ip', proxies=proxies, verify=False)
print(r.text)

# Scrapy users can likewise simply pass their API key in headers.
# NB: Scrapy skips SSL verification by default.
# ...other scrapy setup code

start_urls = ['http://httpbin.org/ip']

meta = {
    "proxy": "http://scraperapi:APIKEY@proxy-server.scraperapi.com:8001"
}

def parse(self, response):
    # ...your parsing logic here
    yield scrapy.Request(url, callback=self.parse, headers=headers, meta=meta)

Для Ruby так:

require 'httparty'

HTTParty::Basement.default_options.update(verify: false)

response = HTTParty.get('http://httpbin.org/ip', {
  http_proxyaddr: "proxy-server.scraperapi.com",
  http_proxyport: "8001",
  http_proxyuser: "scraperapi",
  http_proxypass: "APIKEY"
})

results = response.body
puts results

Для NodeJS так:

const axios = require('axios');

axios.get('http://httpbin.org/ip', {
    method: 'GET',
    proxy: {
        host: 'proxy-server.scraperapi.com',
        port: 8001,
        auth: {
            username: 'scraperapi',
            password: 'APIKEY'
        },
        protocol: 'http'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.log(error);
});

После настройки прокси вы сможете отправлять запросы на сайты с разных IP, благодаря чему снижается риск блокировки по IP. Также это позволит делать запросы на те ресурсы, которые заблокированы по гео.