1. 程式人生 > 其它 >Scrapy框架中如何更改下載中介軟體裡的headers?

Scrapy框架中如何更改下載中介軟體裡的headers?

大家好,我是我是皮皮。

一、前言

前幾天在Python最強王者交流群有個叫【麥當】的粉絲問了一個關於Scrapy框架中如何更改下載中介軟體裡的headers問題,這裡拿出來給大家分享下,一起學習。

二、解決過程

如果只是單純的一次性新增,那麼可以使用下面這個方式,直接在settings.py檔案中設定:

但是他想動態的修改,這樣的話,單純的修改就有點力不從心了。

不過不慌,這個這裡給出【小王】大佬的解答,一起來看看吧,下面是他給的一個示例程式碼,下面這個程式碼寫在middleware.py檔案。

from fake_useragent import UserAgent

class RandomUserAgentMiddleware:
    def process_request(self, request, spider):
        request.headers.setdefault("User-Agent", UserAgent().chrome)

下面這個程式碼寫在settings.py檔案裡邊,如下所示:

settings.py
DOWNLOADER_MIDDLEWARES = {
   # 'anjuke.middlewares.RandomProxyMiddleware': 543,
   'anjuke.middlewares.RandomUserAgentMiddleware': 400,
}

三、總結

大家好,我是皮皮。這篇文章基於粉絲提問,針對Scrapy框架中如何更改下載中介軟體裡的headers問題,給出了具體說明和演示,順利的幫助粉絲解決了問題。

最後感謝粉絲【麥當】提問,感謝【dcpeng】和【小王】大佬給出的示例和程式碼支援。

小夥伴們,快快用實踐一下吧!如果在學習過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學習交流群共同探討學習。