cookie模擬登入
我這裡使用的是python中的requests.get(url,headers,cookies).
其中headers和cookies都是字典形式。headers作用是模擬瀏覽器,告訴伺服器我不是爬蟲。cookies作用是模擬使用者,告訴伺服器我不是機器人,我是某某使用者。
以知乎為例,headers可以用模板:
headers = {
'Host': 'www.zhihu.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding': 'gzip, deflate',
'Referer': 'http://www.baidu.com',
'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
}
然後就是cookies,cookies我是先在瀏覽器中登入,然後去找cookie,並把內容複製到txt中,到時候爬蟲直接去讀取txt,並轉換成字典。具體過程如下(以google瀏覽器為例):
1、登入知乎:http://www.zhihu.com
2、開啟瀏覽器設定--->高階--->隱私設定和安全性-->內容設定-->cookie-->檢視所有cookie和網站資料
3、搜尋zhihu,得到下圖
開啟zhihu.com那個,如下圖
這四個就是cookie的鍵,打開向下的箭頭裡面有值,根據這個建立字典即可。(注意:有的值包含著雙引號,不能搞丟了)
訪問時,html=requests.get("https://www.zhihu,com",headers=headers,cookies=cookies)
content=html.text