2017-01-22 10 views
0

У меня есть код Scrapy, который я бы начал использовать с proxymesh. proxymesh documentation говорит загадочно:Как настроить проксимиш с помощью Scrapy?

Для ползания рамок Scrapy, вы должны установить http_proxy переменного окружение [...] то activate в HttpProxyMiddleware.

Я понимаю, как установить переменную окружения http_proxy, но как «активировать HttpProxyMiddleware» не полностью видно из документации. Я думаю, Мне нужно добавить следующее settings.py в моем проекте Scrapy:

DOWNLOADER_MIDDLEWARES = { 
    'myproject.middleware.ProxyMeshMiddleware': 100, 
} 

Но я полагаю, мне нужно добавить фактический код промежуточного слоя, предположительно в middleware.py файле?

Я нашел this gist, поэтому, я думаю, я мог просто скопировать и вставить его в middleware.py, но я не уверен, насколько это точно. Кажется, что используют различные переменные среды из того, что рекомендуется в документации proxymesh.

ответ

2

Суть в том, что вы ссылаетесь на чтение настроек ProxyMesh из переменных окружения ОС, в противном случае это слегка модифицированный код базовой Scrapy HttpProxyMiddleware и должен хорошо работать.

Вы также можете посмотреть мою очень простую реализацию промежуточного ПО Proxymesh https://github.com/mizhgun/scrapy-proxymesh, которая поддерживает прокси-ротацию (если у вас есть план ProxyMesh с несколькими конечными точками) и настраиваемый тайм-аут.

+0

Спасибо! Я также видел вашу библиотеку, но я не был уверен, как начать с нее, помимо редактирования файла настроек, как описано в вашем README. Это просто случай копирования каталога 'scproxymesh' в мой проект? – Richard

+1

Вы можете либо скопировать источники в свой проект, либо установить его с помощью pip 'pip install -e git + https: // github.com/mizhgun/scrapy-proxymesh @ master # egg = scproxymesh' – mizhgun

+1

UPD: загружен в PyPI, теперь можно быть установлен через 'pip install scrapy-proxymesh' – mizhgun