最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

scrapy頭部修改的方法詳解

 更新時間:2020年12月06日 10:03:59   作者:周少欽  
這篇文章主要給大家介紹了關(guān)于scrapy頭部修改的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

被Scrapy自動添加的頭部

在沒有任何配置的情況下,scrapy會對請求默認加上一些頭部信息

Scrapy會通過配置文件中的USER_AGENT配置,自動為頭部添加User-Agent,這條配置會被任何包含User-Agent的配置覆蓋

當請求經(jīng)過下載器后,會被自動添加頭部Accept-Encoding: gzip,deflate, 會被任意包含Accept-Encoding的頭部配置覆蓋

配置settings.py文件中默認的頭部

#DEFAULT_REQUEST_HEADERS = {
# 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
# 'Accept-Language': 'en'
#}

當這個配置屬于注釋狀態(tài)時,頭部被設(shè)置為Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8與
Accept-Language: en,可以通過取消注釋修改或增刪其中的內(nèi)容

優(yōu)先級

  • 會被Request和中間件中的頭部配置覆蓋
  • 可以覆蓋scrapy自動添加的User-Agent和Accept-Encoding

可以在爬蟲中通過custom_settings設(shè)置配置僅在當前爬蟲生效

class XXXSpider(scrapy.Spider):
 ...
 custom_settings = {
  DEFAULT_REQUEST_HEADERS = {...}
	}
 ....

在Request中設(shè)置頭部

當給引擎返回Request時,可以為他配置頭部

...
def parse(self):
  headers = {
    ...
  }
  
  yield scrapy.Request(url, headers=headers)

優(yōu)先級

  • Request中設(shè)置的header會和settings.py文件中的默認頭部合并到一起,如果有重復的配置,那么會覆蓋那條配置
  • 會被中間件中的配置覆蓋

在中間件中配置

當Request請求通過下載中間件發(fā)往下載器時,可以通過下載中間件配置頭部

class XXXDownloaderMiddleware
  def process_request(self, request, spider):
	  request.headers["key"] = value
    return None

還需要在配置文件中啟用下載中間價

DOWNLOADER_MIDDLEWARES = {
  'project.middlewares.XXXDownloaderMiddleware': 543,
}

優(yōu)先級

  • 會覆蓋除了Referer以外的所有頭部配置

referer中間件

當存在多次請求時,referer中間件會自動幫Request的頭部中的referer加上上一次請求的url

優(yōu)先級

  • 最高,會在所有頭部配置完之后,添加referer
  • 除了只請求一次沒有referer的情況,就算在其他頭部配置中設(shè)置了referer也會被referer中間件覆蓋

關(guān)閉referer中間件

在配置文件中添加REFERER_ENABLED=False即可關(guān)閉

優(yōu)先級分析

Scrapy自動添加的User-Agent與Accept-Encoding < 配置文件中的默認配置DEFAULT_REQUEST_HEADERS < Request中修改的header < 中間件中添加的header < referer中間件添加的referer

此篇文章僅表示自己對scrapy的理解,如有錯誤歡迎指正

到此這篇關(guān)于scrapy頭部修改的文章就介紹到這了,更多相關(guān)scrapy頭部修改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python+MongoDB自增鍵值的簡單實現(xiàn)

    Python+MongoDB自增鍵值的簡單實現(xiàn)

    下面小編就為大家?guī)硪黄狿ython+MongoDB自增鍵值的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • python獲取磁盤號下盤符步驟詳解

    python獲取磁盤號下盤符步驟詳解

    在本篇文章里小編給大家整理了關(guān)于python如何獲取磁盤號下盤符的操作步驟以及實例代碼,有興趣的朋友們學習下。
    2019-06-06
  • Python中裝飾器的一個妙用

    Python中裝飾器的一個妙用

    這篇文章主要介紹了Python中裝飾器的一個妙用,本文是在寫一個爬蟲程序時總結(jié)而來,實現(xiàn)定義一個裝飾器,如果之前取到數(shù)據(jù),就直接取cache的數(shù)據(jù),如果之前沒有取到,那么就從網(wǎng)站拉取,并且存入cache中,需要的朋友可以參考下
    2015-02-02
  • python算法練習之兔子產(chǎn)子(斐波那切數(shù)列)

    python算法練習之兔子產(chǎn)子(斐波那切數(shù)列)

    這篇文章主要給大家介紹python算法練習兔子產(chǎn)子,文章先進行問題描述及分析然后設(shè)計算法最后再得出完整程序,需要的朋友可以參考一下 文章得具體內(nèi)容
    2021-10-10
  • Python實現(xiàn)將wav轉(zhuǎn)amr,并轉(zhuǎn)換成hex數(shù)組

    Python實現(xiàn)將wav轉(zhuǎn)amr,并轉(zhuǎn)換成hex數(shù)組

    這篇文章主要介紹了Python實現(xiàn)將wav轉(zhuǎn)amr,并轉(zhuǎn)換成hex數(shù)組方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 一文教會你用Python繪制動態(tài)可視化圖表

    一文教會你用Python繪制動態(tài)可視化圖表

    數(shù)據(jù)可視化是數(shù)據(jù)科學中關(guān)鍵的一步,下面這篇文章主要給大家介紹了關(guān)于如何利用Python繪制動態(tài)可視化圖表的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Python中xlsx文件轉(zhuǎn)置操作詳解(行轉(zhuǎn)列和列轉(zhuǎn)行)

    Python中xlsx文件轉(zhuǎn)置操作詳解(行轉(zhuǎn)列和列轉(zhuǎn)行)

    很多時候我們處理的Excel表格并不是我們想要的樣子,需要將表格的形式進行相應轉(zhuǎn)換后進行數(shù)據(jù)分析操作,下面這篇文章主要給大家介紹了關(guān)于Python中xlsx文件轉(zhuǎn)置操作(行轉(zhuǎn)列和列轉(zhuǎn)行)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Python 對象序列化與反序列化之pickle json詳細解析

    Python 對象序列化與反序列化之pickle json詳細解析

    我們知道在Python中,一切皆為對象,實例是對象,類是對象,元類也是對象。本文正是要聊聊如何將這些對象有效地保存起來,以供后續(xù)使用
    2021-09-09
  • Python 中的 plt.hist 函數(shù)基本用法詳解

    Python 中的 plt.hist 函數(shù)基本用法詳解

    plt.hist 函數(shù)用于繪制直方圖,直方圖是一種用來表示數(shù)據(jù)分布的圖形,它將數(shù)據(jù)分成若干個區(qū)間,然后統(tǒng)計每個區(qū)間中數(shù)據(jù)的數(shù)量,最終以柱狀圖的形式展示出來,這篇文章主要介紹了Python 中的 plt.hist 函數(shù)基本用法詳解,需要的朋友可以參考下
    2021-04-04
  • python內(nèi)置函數(shù):lambda、map、filter簡單介紹

    python內(nèi)置函數(shù):lambda、map、filter簡單介紹

    Python 內(nèi)置了一些比較特殊且實用的函數(shù),使用這些能使你的代碼簡潔而易讀。下面對python內(nèi)置函數(shù):lambda、map、filter簡單介紹下,需要的朋友參考下吧
    2017-11-11

最新評論

巢湖市| 长汀县| 城口县| 南溪县| 绵阳市| 柳江县| 牡丹江市| 迭部县| 田东县| 清丰县| 喀喇沁旗| 三门峡市| 阿拉善右旗| 吴桥县| 全南县| 邯郸县| 吉林市| 广南县| 景宁| 剑川县| 本溪市| 望奎县| 湖北省| 射洪县| 赤峰市| 淄博市| 岳阳市| 江西省| 泰来县| 太原市| 工布江达县| 洪湖市| 根河市| 武功县| 金沙县| 南安市| 嵊泗县| 同江市| 永福县| 牡丹江市| 稷山县|