柚子快報(bào)邀請碼778899分享:scrapy爬蟲實(shí)戰(zhàn)筆記(三)
柚子快報(bào)邀請碼778899分享:scrapy爬蟲實(shí)戰(zhàn)筆記(三)
#piplines實(shí)現(xiàn)異步抓取圖片##post請求#
1.scrapy圖片類抓取
1.1導(dǎo)入下載圖片專用管道類
打開scrapy項(xiàng)目中piplines文件,導(dǎo)入模塊ImagesPipeline
該模塊需安裝模塊 pip install pillow==9.4.0(下載9.4.0版本)
1.2管道類需繼承ImagesPipeline
且不再使用原process_item函數(shù),而是使用get_midia_requests(),這個(gè)方法專門獲取媒體的請求
1.3用下載器下載圖片
這一步請求下載器下載圖片,我們把鏈接放進(jìn)去即可
1.4file_path設(shè)置圖片的名字和保存地址
名稱可直接在file_path下定義,文件夾地址需在settings中添加
1.5爬蟲代碼:獲取并解析網(wǎng)頁數(shù)據(jù)
另,settings文件設(shè)置同scrapy實(shí)戰(zhàn)筆記(二)——日志文件等級,君子協(xié)議,user-agent
2.scrapy抓取動(dòng)態(tài)請求(eg.百度翻譯)
post請求需額外提交表單
2.1添加start_requests
post請求時(shí),start_urls基本不用,里面填寫的內(nèi)容不重要,我們需額外添加start_requests(),該方法意為從這里開始執(zhí)行
scrapy.FormRequest()提交表單并發(fā)起請求
2.2添加偽裝
響應(yīng)的數(shù)據(jù)是無法解析的,我們需要添加偽裝。post請求單獨(dú)添加一個(gè)USER-AGENT不行,這里settings中的USER-AGENT可以不用了,USER-AGENT是對全局的請求做修改。這里,我們要把全部的(請求標(biāo)頭)Headers信息加進(jìn)來。
2.2.1頭部信息處理技巧(自己試了下,沒有成功,不知道什么原因)
(1)Pycharm中建立一個(gè)text文件,把headers信息copy進(jìn)去
(2)ctrl+R,用正則做一個(gè)匹配 (.*?): (.*)
文本中有空格,故冒號(hào)后面有空格。若所有信息被框起來,則說明全部信息都被匹配到了
(3)替換 ‘$1':'$2',
(4)點(diǎn)擊REPLACEALL
2.2.2添加請求標(biāo)頭信息
settings中修改
2.2.3為使上述添加的cookies生效,我們需關(guān)閉scrapy本身封裝的cookie
settings中修改
柚子快報(bào)邀請碼778899分享:scrapy爬蟲實(shí)戰(zhàn)筆記(三)
推薦閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。