一、偽裝瀏覽器
對于一些需要登錄的網站,如果不是從瀏覽器發出的請求,則得不到響應。所以,我們需要將爬蟲程序發出的請求偽裝成瀏覽器正規軍。
具體實現:自定義網頁請求報頭。
二、使用Fiddler查看請求和響應報頭
打開工具Fiddler,然后再瀏覽器訪問“https://www.douban.com/”,在Fiddler左側訪問記錄中,找到“200 HTTPS www.douban.com”這一條,點擊查看其對應的請求和響應報頭具體內容:

三、訪問豆瓣
我們自定義請求報頭與上圖Request Headers相同內容:
''''' 偽裝瀏覽器 對于一些需要登錄的網站,如果不是從瀏覽器發出的請求,則得不到響應。 所以,我們需要將爬蟲程序發出的請求偽裝成瀏覽器正規軍。 具體實現:自定義網頁請求報頭。 ''' #實例二:依然爬取豆瓣,采用偽裝瀏覽器的方式 import urllib.request #定義保存函數 def saveFile(data): path = "E://projects//Spider//02_douban.out" f = open(path,'wb') f.write(data) f.close() #網址 url = "https://www.douban.com/" headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/51.0.2704.63 Safari/537.36'} req = urllib.request.Request(url=url,headers=headers) res = urllib.request.urlopen(req) data = res.read() #也可以把爬取的內容保存到文件中 saveFile(data) data = data.decode('utf-8') #打印抓取的內容 print(data) #打印爬取網頁的各類信息 print(type(res)) print(res.geturl()) print(res.info()) print(res.getcode()) 四、輸出的結果結果(截取部分)

結果文件內容

GitHub代碼鏈接
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答