由於我是自學爬蟲的第一篇部落格,也許是最後一篇,全看我心情。
import requests # 匯入requests模組,用來獲取網頁的
url='某**' #你要爬取的網頁的**
try: #這個不講了,不懂看前面的python基礎模組。
r=requests.get(url) #通過get方法獲取乙個url的response物件,就是r
r.raise_for_status() # 這個方法用來返回網路響應碼,200未成功獲取,非200全都是失敗,直接丟擲異常
print(r.text[1000:2000])# 列印獲取的內容
except:
print('爬取失敗') #爬取失敗執行這句
我來依次解釋一下每行的作用,寫在每行後面注釋好了。。
為什麼不放圖。。因為我發現放圖,比放**麻煩多了
通過這段**來看自己的request請求資訊的請求頭是什麼。
這裡清楚地寫著user-agent是python請求,以這種請求去爬人家的網頁,無異於高舉我是小偷我來偷錢的旗子去銀行打轉。
所以你不能這樣直白,不能這樣忠實,你得偽裝,得支稜起來,你得表現得像乙個普通的使用者通過瀏覽器去訪問網頁一樣,神他媽不知,鬼他媽不覺的把資料爬走。
這個時候通過鍵值對的形式,來吧你的請求頭給改掉。
import requests
url=''
try:
kv=r=requests.get(url,headers=kv)
r.raise_for_status()
print(r.text[1000:2000])
print(r.request.headers)
except:
print('爬取失敗')
搞乙個字典,裡面寫上這個,mozilla/5.0,這是什麼呢,這好像是瀏覽器的一種,這個時候放進get方法裡面,就可以改變你的狗頭了,你已經無懈可擊了個屁了。
你看,請求頭變成了這個,好了你可以成功的訪問這個頁面並且爬資料了。
今天就先講這麼多
有緣還會再見。
python爬蟲新增請求頭和請求主體
新增頭部資訊有兩種方法 1.通過新增urllib.request.request中的headers引數 1 先把要用到的資訊放到乙個字典中 2 headers 3 headers user agent mozilla 5.0 windows nt 6.1 win64 x64 4 headers 5 ...
爬蟲請求頭批量加引號
python中編寫爬蟲程式通常需要新增請求頭,但是從瀏覽器中複製的請求頭沒有加引號。當請求頭資訊比較多的時候,加引號是乙個非常痛苦的事情,所以筆者寫了乙個小指令碼,可以批量給請求頭資訊新增引號。import re defmakeheaders data rule re.compile results...
修改爬蟲的HTTP請求
如果遇到會對請求頭進行審查的 他的status code會為非200,這時候想要正常爬取,需要新建鍵值對kv 並在requests.get 裡面加上headers kv 下面是實際 import requests url kv try r requests.get url,headers kv r....