【发布时间】:2021-03-05 08:44:31
【问题描述】:
我希望有人可以帮助我,我正在尝试将 scrapy-requests 包与 scrapy 一起使用,以便我可以呈现整个页面。 (https://pypi.org/project/scrapy-requests/) 我似乎无法将代理传递给它,我明白了
from scrapy_requests import HtmlRequest
yield HtmlRequest(url=url, callback=self.parse, render=True)
继承scrapy。请求我尝试通过元参数传递代理,就像你会做的那样
yield scrapy.Request(url=url,meta=proxy)
但这没有用。所以我开始弄乱它附带的中间件,并将 spider_open 函数编辑到这个
def spider_opened(self, spider: Spider) -> None:
"""Open HTMLSession when spider starts"""
s = HTMLSession()
s.proxies = {'http': 'http://23.236.168.81:1111'}
self.session = s
如果我将渲染选项设置为 False,它可以工作,但一旦我将其设置为 true,它就会恢复到我的原始 IP 任何帮助表示赞赏。
谢谢
【问题讨论】:
-
也许应该是
s.proxies = {'https': '<your proxy URL>'}?您是否尝试打开 HTTPS 页面?
标签: python web-scraping scrapy scrapy-request