1、對於**url為http協議的,我們可以直接通過urlopen()直接爬取
例如:
import urllib.request
url=''
#讀取響應資訊並解碼
html=urllib.request.urlopen(url).read().decode('utf-8')
#列印爬到的資訊
print(html)
爬取結果為
2、但當我們要爬url為https協議的**,就會返回403錯誤或報其它錯誤。這是因為對方伺服器識別出是爬蟲,把我們遮蔽了。
例如把url換成"
" 則python會報錯如下圖
3、解決方法:通過模擬瀏覽器登陸來實現偽裝。即通過設定
user-agent的方式來達到隱藏爬蟲身份的目的。
原理:user-agent存放於headers中,伺服器就是通過檢視headers中的
user-agent來判斷是誰在訪問的。
我們可以通過chrome的審查元素功能來檢視
user-agent,然後新增進去
#爬嗅事百科
url=''
#寫入user-agent,採用字典形式
head={}
#建立request物件並新增heads
req=request.request(url,headers=head)
#傳入建立好的request物件
response=request.urlopen(req)
#讀取響應資訊並解碼
html=response.read().decode('utf-8')
#列印爬到的資訊
print(html)
執行上面**,結果如下圖:
python瀏覽器偽裝技術
整理的python在進行爬蟲時,進行瀏覽器偽裝import urllib.request 以字典的形式設定headers accept language zh cn,zh q 0.8,en us q 0.5,en q 0.3 connection keep alive referer 設定cooki...
爬蟲瀏覽器偽裝
先引入模組 urllib.request和re import requests import re定義乙個url鏈結 url 瀏覽器偽裝,定義乙個headers頭 headers user agent 將headers新增到真實的報頭中去,首先建立乙個opener物件,再將其新增進去 opener ...
Python 爬蟲瀏覽器偽裝技術
瀏覽器偽裝技術實戰 1 常見的反爬蟲和應對方法 前兩種比較容易遇到,大多數 都從這些角度來反爬蟲。第三種一些應用ajax的 會採用,這樣增大了爬取的難度。通過headers反爬蟲 基於使用者行為反爬蟲 動態頁面的反爬蟲 2 請求頭headers介紹 1 請求 客戶端 服務端 request get ...