首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python scrapy crawlspider x-forwarded-for标头

Python scrapy crawlspider x-forwarded-for标头
EN

Stack Overflow用户
提问于 2021-10-14 13:55:30
回答 1查看 34关注 0票数 0

我的简单的爬虫蜘蛛是低沉的。如何将X-Forwarded-For添加到此crawler?X-Forwarded-For应该适用于将被爬行的所有页面。

代码语言:javascript
复制
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from scrapy.http.request import Request

class MySpider(CrawlSpider):
    name = 'spidy'
    allowed_domains = ['website.com', 'www.website.com']
    start_urls = ['http://www.website.com/']
    rules = (
        Rule(LinkExtractor(allow=('/uk/', )), callback='parse_item', follow=True),
    )

    def parse_item(self, response):
        print(response.url)

附言:我找到了一种通过settings.py实现的方法,但是有没有通过爬虫的方法呢?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-10-20 05:20:33

您可以通过使用Rule对象中的process_request函数来实现这一点,如下所示

代码语言:javascript
复制
rules = (Rule(LinkExtractor(allow=('/uk/', )), callback='parse_item', follow=True, process_request='add_header'),)

def add_header(self, request, response):
   request.headers['X-Forwarded-For'] = 'the_header_value'
   return request

有关详细信息,请参阅docs

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69571999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档