欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 爬蟲出現(xiàn)403禁止訪問錯(cuò)誤詳解

 更新時(shí)間:2017年03月11日 15:42:11   作者:完美風(fēng)暴4  
這篇文章主要介紹了 python 爬蟲解決403禁止訪問錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下

python 爬蟲解決403禁止訪問錯(cuò)誤

在Python寫爬蟲的時(shí)候,html.getcode()會(huì)遇到403禁止訪問的問題,這是網(wǎng)站對自動(dòng)化爬蟲的禁止,要解決這個(gè)問題,需要用到python的模塊urllib2模塊

urllib2模塊是屬于一個(gè)進(jìn)階的爬蟲抓取模塊,有非常多的方法,比方說連接url=//www.dbjr.com.cn/qysh123對于這個(gè)連接就有可能出現(xiàn)403禁止訪問的問題

解決這個(gè)問題,需要以下幾步驟:

<span style="font-size:18px;">req = urllib2.Request(url) 
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36") 
req.add_header("GET",url) 
req.add_header("Host","blog.csdn.net") 
req.add_header("Referer","http://www.dbjr.com.cn/")

其中User-Agent是瀏覽器特有的屬性,通過瀏覽器查看源代碼就可以查看到

然后

html=urllib2.urlopen(req)


print html.read()

就可以把網(wǎng)頁代碼全部下載下來,而沒有了403禁止訪問的問題。

對于以上問題,可以封裝成函數(shù),供以后調(diào)用方便使用,具體代碼:

#-*-coding:utf-8-*- 
 
import urllib2 
import random 
 
url="http://www.dbjr.com.cn/article/1.htm" 
 
my_headers=["Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", 
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36", 
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" 
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14", 
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)" 
  
] 
def get_content(url,headers): 
 ''''' 
 @獲取403禁止訪問的網(wǎng)頁 
 ''' 
 randdom_header=random.choice(headers) 
 
 req=urllib2.Request(url) 
 req.add_header("User-Agent",randdom_header) 
 req.add_header("Host","blog.csdn.net") 
 req.add_header("Referer","http://www.dbjr.com.cn/") 
 req.add_header("GET",url) 
 
 content=urllib2.urlopen(req).read() 
 return content 
 
print get_content(url,my_headers) 

其中用到了random隨機(jī)函數(shù),自動(dòng)獲取已經(jīng)寫好的瀏覽器類型的User-Agent信息,在自定義函數(shù)中需要寫出自己的Host,Referer,GET信息等,解決這幾個(gè)問題,就可以順利訪問了,不再出現(xiàn)403訪問的信息。

當(dāng)然如果訪問頻率過快的話,有些網(wǎng)站還是會(huì)過濾的,解決這個(gè)需要用到代理IP的方法。。。具體的自己解決

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論