91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么對scrapy頭部進行修改

發布時間:2020-12-07 15:10:26 來源:億速云 閱讀:311 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關怎么對scrapy頭部進行修改,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

被Scrapy自動添加的頭部

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

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

怎么對scrapy頭部進行修改

當請求經過下載器后,會被自動添加頭部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'
#}

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

優先級

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

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

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

在Request中設置頭部

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

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

優先級

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

在中間件中配置

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

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

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

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

優先級

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

referer中間件

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

優先級

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

關閉referer中間件

在配置文件中添加REFERER_ENABLED=False即可關閉

優先級分析

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

關于怎么對scrapy頭部進行修改就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五峰| 若羌县| 田阳县| 安阳县| 鲁山县| 长子县| 元朗区| 凤冈县| 樟树市| 且末县| 淳安县| 博爱县| 达孜县| 泗洪县| 宁陵县| 静宁县| 司法| 徐水县| 界首市| 始兴县| 盐边县| 崇信县| 上林县| 宁明县| 登封市| 陈巴尔虎旗| 景宁| 凤冈县| 莱西市| 卢龙县| 和田县| 安阳市| 唐山市| 凯里市| 阜城县| 牟定县| 东山县| 洪江市| 镇原县| 游戏| 万载县|