0
从搜索如何使用代理与scrapy我主要找到解决方案,需要我使用某种中间件。有没有办法让spider.py文件在处理请求时处理代理?例如,在Python请求库中,您可以在创建请求时添加代理参数,在使用scrapy时是否有类似的东西?有没有一种方法可以在不使用中间件的情况下使用scrapy的代理?
从搜索如何使用代理与scrapy我主要找到解决方案,需要我使用某种中间件。有没有办法让spider.py文件在处理请求时处理代理?例如,在Python请求库中,您可以在创建请求时添加代理参数,在使用scrapy时是否有类似的东西?有没有一种方法可以在不使用中间件的情况下使用scrapy的代理?
不使用中间件?不,这是中间件的要点!然而scrapy内置了中间件,你不需要下载或启用任何东西。 你可以对任何单独的请求通过proxy
键meta
属性中设置代理:
Request('someurl', meta={'proxy': 'http://some_proxy_server:port'})
啊我想,这是事实,我想我最好的解决方案是使用请求和BeautifulSoup不使用scrapy处理整个框架,因为我只需要一次功能有限的一次性工作 –
@EdwardFu Scrapy完全可以在小范围内工作。中间件没有问题。请求具有与HttpProxyMiddleware相同的逻辑,它不像中间件那样是孤立的和暴露的 - 它是硬编码的。 – Granitosaurus