1. 程式人生 > >python3(requests)使用代理ip

python3(requests)使用代理ip

  • 當需要採集大量資料時,或者有的網站對訪問速度特別嚴格的時候,有的網站就採取封ip,這樣就需要使用代理ip。就像馬蜂窩一樣,,自從被曝資料造假之後,就不好爬了,python使用代理ip的小demo為:
import  requests
from bs4 import BeautifulSoup
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
proxies = {'http'
: '120.236.128.201:8060', 'https': '120.236.128.201:8060' } url="http://www.overlove.xin/html/" header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'} req=requests.get(url,headers=header,proxies=proxies,timeout=5) html=req.
text soup=BeautifulSoup(html,'lxml') print(soup.text)

輸出為:在這裡插入圖片描述
找一個可以定位的網站測試
在這裡插入圖片描述
網站是我以前寫的一個天氣預報介面(已經暴斃)。之前有寫過用java如何寫天氣介面通過ip檢視天氣資訊
如果通過購買的代理ip,就需要先解析格式,提取ip和埠構造ip池,進行隨機選用。原諒我窮逼買不起ip。。嗚嗚。

  • 另外,使用代理ip的時候一定要用好try catch,如果對資訊完整性要求比較高。還需要對失敗後從寫方法,因為代理ip如果時免費的並不穩定,也有點慢。還有,有的ip不能用他會瞎跳到其他的連結上,比如跳到有道上,所以,使用代理ip時候一定要處理好異常,防止程式異常終止。