1. 程式人生 > >Python爬蟲通過替換http request header來欺騙瀏覽器實現登錄

Python爬蟲通過替換http request header來欺騙瀏覽器實現登錄

kit 5.0 目的 user ima blog 界面 chrom num

以豆瓣為例,訪問https://www.douban.com/contacts/list 來查看自己關註的人,要登錄才能查看。

如果用requests.get()方法獲取這個http,沒登錄只能抓取回一個登錄界面,所以我們要用Python登錄網站才能抓取想要的網頁。

一個簡便的方法就是自己在瀏覽器上登錄好,然後通過下圖方法(Chrome為例),找到自己的Cookie和User-Agent,然後用Python發送request時用這復制來的header替換掉待發送的request已達到登錄的目的,server端會憑這個認為你是已經登錄的用戶。

技術分享圖片

代碼如下:

import requests

headers 
= { User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36, Cookie:gr_user_id=1f9ea7ea-462a-4a6f-9d55-156631fc6d45; bid=vPYpmmD30-k; ll="118282"; ue="codin; __utmz=30149280.1499577720.27.14.utmcsr=douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/doulist/240962/; __utmv=30149280.3049; _vwo_uuid_v2=F04099A9dd; viewed="27607246_26356432"; ap=1; ps=y; push_noty_num=0; push_doumail_num=0; dbcl2="30496987:gZxPfTZW4y0"; ck=13ey; _pk_ref.100001.8cb4=%5B%22%22%2C%22%22%2C1515153574%2C%22https%3A%2F%2Fbook.douban.com%2Fmine%22%5D; __utma=30149280.833870293.1473539740.1514800523.1515153574.50; __utmc=30149280; _pk_id.100001.8cb4=255d8377ad92c57e.1473520329.20.1515153606.1514628010.
} r = requests.get(https://www.douban.com/contacts/list, headers = headers) print(r.text)

Python爬蟲通過替換http request header來欺騙瀏覽器實現登錄