установить прокси Чтобы скрыть мой IP-адрес для очистки веб-страницы с помощью scrapy - PullRequest
4 голосов
/ 22 марта 2012

Я использую scrapy для сканирования веб-сайта, теперь мне нужно настроить прокси для обработки отправленного запроса. Может кто-нибудь помочь мне решить этот набор прокси в приложении Scrapy. Пожалуйста, дайте любой образец ссылки тоже, если у вас есть. И мне нужно решение, с какого IP идет этот запрос.

1 Ответ

6 голосов
/ 01 июня 2012

Вы можете сделать это с помощью приведенного ниже кода здесь :

1 - Создайте новый файл с именем middlewares.py, сохраните его в своем проекте scrapy и добавьте в него следующий код.

# Importing base64 library because we'll need it ONLY
#in case if the proxy we are going to use requires authentication
import base64

# Start your middleware class
class ProxyMiddleware(object):
  # overwrite process request
  def process_request(self, request, spider):
    # Set the location of the proxy
    request.meta['proxy'] = "http://YOUR_PROXY_IP:PORT"

    # Use the following lines if your proxy requires authentication
    proxy_user_pass = "USERNAME:PASSWORD"
    # setup basic authentication for the proxy
    encoded_user_pass = base64.encodestring(proxy_user_pass)
    request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass

2 - Откройте файл конфигурации вашего проекта (./project_name/settings.py) и добавьте следующий код

DOWNLOADER_MIDDLEWARES = {
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 110,
'project_name.middlewares.ProxyMiddleware': 100,
}

Также вы можете использовать несколько прокси с scrapy. Больше информации можно можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...