日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
一日一技:誰(shuí)說(shuō)Scrapy不能爬HTTP/2?

之前有一位爬蟲(chóng)大佬寫(xiě)了一篇文章,說(shuō) HTTP/2協(xié)議天然就能防大部分的爬蟲(chóng)。Python 無(wú)論是 requests 還是 Scrapy 都不支持 HTTP/2協(xié)議。

10年的思南網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整思南建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“思南網(wǎng)站設(shè)計(jì)”,“思南網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

Go + HTTP/2[1]這個(gè)網(wǎng)站可以檢測(cè)你是否使用 HTTP/2協(xié)議進(jìn)行請(qǐng)求。當(dāng)我們直接使用瀏覽器訪問(wèn)的時(shí)候,頁(yè)面長(zhǎng)這樣:

注意紅框中的文字

但如果我們直接使用 Scrapy 訪問(wèn)這個(gè)頁(yè)面,并打印源代碼,返回的 HTML 長(zhǎng)這樣:

注意紅框中的文字

這樣看起來(lái),似乎Scrapy 確實(shí)不支持HTTP/2協(xié)議?

但我為什么總是一直強(qiáng)調(diào)要讀官方文檔,不要去搜索一些垃圾博客呢。因?yàn)楣俜轿臋n里面,已經(jīng)明確告訴你Scrapy 不僅原生支持 HTTP/2,而且只需要改一個(gè)配置就可以了:Settings — Scrapy 2.5.0 documentation[2]。

更換下載器句柄就可以了

請(qǐng)大家注意上圖中標(biāo)紅色方框的地方。根據(jù)它的描述,我只需要在settings.py文件中,更新下載器句柄(handlers)就可以了。我們來(lái)測(cè)試一下。把下面這段代碼直接復(fù)制到 Scrapy 爬蟲(chóng)中:

 
 
 
 
  1. DOWNLOAD_HANDLERS = { 
  2.     'https': 'scrapy.core.downloader.handlers.http2.H2DownloadHandler', 

改好以后,重新運(yùn)行爬蟲(chóng),打印出來(lái)的源代碼如下圖所示:

可以看到,不需要安裝任何額外的庫(kù)。Scrapy 原生就支持 HTTP/2了。

參考文獻(xiàn)

[1] Go + HTTP/2: https://http2.golang.org/

[2] Settings — Scrapy 2.5.0 documentation: https://docs.scrapy.org/en/latest/topics/settings.html#download-handlers-base


文章標(biāo)題:一日一技:誰(shuí)說(shuō)Scrapy不能爬HTTP/2?
文章位置:http://www.dlmjj.cn/article/dhccosd.html