Я написал скрипт в scrapy, чтобы запрос проходил через специальное промежуточное программное обеспечение для того, чтобы этот запрос был проксирован.Однако сценарий, похоже, не имеет никакого эффекта от этого промежуточного программного обеспечения.Когда я печатаю response.meta
, я получаю {'download_timeout': 180.0, 'download_slot': 'httpbin.org', 'download_latency': 0.9680554866790771}
, что ясно указывает на то, что мой запрос не проходит через пользовательское промежуточное ПО.Я использовал CrawlerProcess
для запуска скрипта.
spider
содержит:
import scrapy
from scrapy.crawler import CrawlerProcess
class ProxySpider(scrapy.Spider):
name = "proxiedscript"
start_urls = ["https://httpbin.org/ip"]
def parse(self,response):
print(response.meta)
print(response.text)
if __name__ == "__main__":
c = CrawlerProcess({'USER_AGENT':'Mozilla/5.0'})
c.crawl(ProxySpider)
c.start()
middleware
содержит:
class ProxiesMiddleware(object):
def process_request(self, request, spider):
request.meta['proxy'] = 'http://206.189.25.70:3128'
return request
Изменить это я 'Сделано в settings.py
:
DOWNLOADER_MIDDLEWARES = {
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 110,
'proxyspider.middleware.ProxiesMiddleware': 100,
}
На следующем рисунке показана иерархия проекта: 
Какое возможное изменение я долженпринести запрос через прокси через промежуточное ПО?