代理服務器:是一個處於我們與互聯網中間的服務器,如果使用代理服務器,
我們瀏覽信息的時候,先向代理服務器發出請求,然后又代理服務向互聯網獲取信息,再返回給我們
使用代理服務器進行信息爬取,可以很好的解決IP限制的問題
就像爬取微信的時候,如果使用自己的IP地址去爬取的話,你會發現你的IP將被微信給封了(親測)
所以需要使用代理IP和偽裝瀏覽器去爬取,這兒只先說怎么使用代理服務器
先上一個網址,包含許多免費的代理IP服務器,當然也能夠購買。
http://www.xicidaili.com/
畢竟使用免費的當然會出現無法使用500等錯誤,怎么解決? 換一個IP地址和端口號唄~ ~ 或者進行購買(一般到公司會去購買)~ ~
然后 直接上代碼
import urllib.request import urllib.error def use_proxy(url,proxy_addr): proxy = urllib.request.ProxyHandler({"http":proxy_addr}) opener = urllib.request.build_opener(proxy,urllib.request.HTTPHandler) #第二個參數默認為urllib.request.HTTPHandler urllib.request.install_opener(opener) data = urllib.request.urlopen(url).read().decode("utf-8","ignore") return data proxy_addr = "219.138.58.235:3128"#這個IP是當時測試時候用的,自己更換就行 url = "http://www.baidu.com" data = use_proxy(url,proxy_addr) print(len(data))
以后寫代碼需要使用代理服務器的時候完全就可以直接使用這個自定義函數或者使用其中的語句