使用scrapy shell時設置cookies和headers

有時爲了測試xpath,需要臨時下載個頁面,這時使用命令行進行測試是最方便的,但是很多網站頁面需要認證,不能直接使用scrapy shell命令進行頁面的抓取,所以需要重新對請求進行構造,設置cookies和headers。

首先在當前裝有scrapy的python環境中安裝ipython

# python環境下
pip install ipython
# conda環境下
conda install ipython

 首先進入scrapy shell,會自動使用ipython

scrapy shell

 

 

 

 把cookies轉成字典格式

# 指定請求目標的 URL 鏈接
url = 'https://novel18.syosetu.com/n7016er/31/'
# 自定義 Headers 請求頭(一般建議在調試時使用自定義 UA,以繞過最基礎的 User-Agent 檢測)
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}
# 構造需要附帶的 Cookies 字典
cookies = {"key_1": "value_1", "key_2": "value_2", "key_3": "value_3"}
# 構造 Request 請求對象
req = scrapy.Request(url, cookies=cookies, headers=headers)
# 發起 Request 請求
fetch(req)
# 在系統默認瀏覽器查看請求的頁面(主要爲了檢查是否正常爬取到內頁)
view(response)
# 網頁響應正文 byte類型
response.body
# 網頁響應正文 str類型  
response.text  
# xpath選擇器
repsonse.xpath()  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章