㈠ python爬蟲頁面遇到的問題
import urllib2
proxy_support = urllib2.ProxyHandler({'http':'http://XX.XX.XX.XX:XXXX'})
opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
content = urllib2.urlopen('http://XXXX').read()
㈡ python爬蟲爬取不出信息
Python爬蟲程序本身沒有問題,但是卻爬取不了數據主要原因如下:
1.對方有反爬程序
幾乎所網站為了防止一些惡意抓取,會設置反爬程序,你會發現明明很多數據顯示在瀏覽器上,但是卻抓取不出來。
2.偽裝方式沒有繞過目標網站反爬
網站都有反爬蟲機制,防止爬取數據,爬蟲想要爬取數據,就需要隱藏自身的身份,偽裝成用戶的身份進行訪問,如果沒有偽裝好,被檢測到爬蟲,也是被會限制的。比如請求頭沒有設置好,Cookie問題等等。
3.IP被限制
爬蟲除了IP所有數據都可以偽裝,當你的IP訪問次數過多之後,就會被限制住,再也無法訪問了。這個時候就需要帶入ip代理池了。
㈢ python3 爬取圖片異常的原因
我們在下載文件時,一會會採取urlretrieve或是requests的get方式,
from urllib.request import urlretrieve
urlretrieve(self.url, filename="xxx.png")
但對於連續下載,各個文件保存是需要時間的,而程序運行永運是快於存儲的,我懷疑這是水管里流水速度與缸的大小不合適的原因,那可以試試下面這種方式:
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.flush()
㈣ Python爬取天氣信息的時候出現了錯誤提示
應該是編碼的問題,建議city這個字典的key使用unicode,即u'鄭州'。
另外對輸入值做編碼轉換(str.encode('unicode')),編碼是一個頭疼的問題,你可以print下key和你輸入的內容是不是一個東西。
最後,建議使用字典的get方法來取值,即city.get(str)。
如果是自己用的代碼或者城市不多,可以使用代碼來替代,例如0371