本篇文章為大家展示了如何用Python爬蟲抓取代理IP,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
目前網(wǎng)上有許多代理ip,有免費(fèi)的也有付費(fèi)的。免費(fèi)的雖然不用花錢但有效的代理很少且不穩(wěn)定,付費(fèi)的可能會(huì)好一點(diǎn) 下面講一下代理IP的試用,將可用ip存入MongoDB,方便下次取出。
運(yùn)行平臺(tái):Windows
Python版本:Python3.6
IDE: Sublime Text
其他:Chrome瀏覽器
簡(jiǎn)述流程為:
步驟1:了解requests代理如何使用
步驟2:從代理網(wǎng)頁爬取到ip和端口
步驟3:檢測(cè)爬取到的ip是否可用
步驟4:將爬取的可用代理存入MongoDB
步驟5:從存入可用ip的數(shù)據(jù)庫(kù)里隨機(jī)抽取一個(gè)ip,測(cè)試成功后返回
對(duì)于requests來說,代理的設(shè)置比較簡(jiǎn)單,只需要傳入proxies參數(shù)即可。
不過需要注意的是,這里我是在本機(jī)安裝了抓包工具Fiddler,并用它在本地端口8888創(chuàng)建了一個(gè)HTTP代理服務(wù)(用Chrome插件SwitchyOmega),即代理服務(wù)為:127.0.0.1:8888,我們只要設(shè)置好這個(gè)代理,就可以成功將本機(jī)ip切換成代理軟件連接的服務(wù)器ip了。
這里我是用來http://httpbin.org/get作為測(cè)試網(wǎng)站,我們?cè)L問該網(wǎng)頁可以得到請(qǐng)求的有關(guān)信息,其中origin字段就是客戶端ip,我們可以根據(jù)返回的結(jié)果判斷代理是否成功。返回結(jié)果如下:
接下來我們便開始爬取代理IP,首先我們打開Chrome瀏覽器查看網(wǎng)頁,并找到ip和端口元素的信息。
可以看到,代理IP以表格存儲(chǔ)ip地址及其相關(guān)信息,所以我們用BeautifulSoup提取時(shí)很方便便能提取出相關(guān)信息,但是我們需要注意的是,爬取的ip很有可能出現(xiàn)重復(fù)的現(xiàn)象,尤其是我們同時(shí)爬取多個(gè)代理網(wǎng)頁又存儲(chǔ)到同一數(shù)組中時(shí),所以我們可以使用集合來去除重復(fù)的ip。
將要爬取頁數(shù)的ip爬取好后存入數(shù)組,然后再對(duì)其中的ip逐一測(cè)試。
這里就用到了上面提到的requests設(shè)置代理的方法,我們使用http://httpbin.org/ip作為測(cè)試網(wǎng)站,它可以直接返回我們的ip地址,測(cè)試通過后再存入MomgoDB數(shù)據(jù)庫(kù)。
連接數(shù)據(jù)庫(kù)然后指定數(shù)據(jù)庫(kù)和集合,再將數(shù)據(jù)插入就OK了。
最后運(yùn)行查看一下結(jié)果吧
運(yùn)行了一段時(shí)間后,難得看到一連三個(gè)測(cè)試通過,趕緊截圖保存一下,事實(shí)上是,畢竟是免費(fèi)代理IP,有效的還是很少的,并且存活時(shí)間確實(shí)很短,不過,爬取的量大,還是能找到可用的,我們只是用作練習(xí)的話,還是勉強(qiáng)夠用的。現(xiàn)在看看數(shù)據(jù)庫(kù)里存儲(chǔ)的吧。
因?yàn)榕廊〉捻摂?shù)不多,加上有效ip也少,再加上我沒怎么爬,所以現(xiàn)在數(shù)據(jù)庫(kù)里的ip并不多,不過也算是將這些ip給存了下來。現(xiàn)在就來看看怎么隨機(jī)取出來吧。
由于擔(dān)心放入數(shù)據(jù)庫(kù)一段時(shí)間后ip會(huì)失效,所以取出前我重新進(jìn)行了一次測(cè)試,如果成功再返回ip,不成功的話就直接將其移出數(shù)據(jù)庫(kù)。
這樣我們需要使用代理的時(shí)候,就能通過數(shù)據(jù)庫(kù)隨時(shí)取出來了。
總的代碼如下:
zhihu.com/people/hdmi-blog
上述內(nèi)容就是如何用Python爬蟲抓取代理IP,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
網(wǎng)站標(biāo)題:如何用Python爬蟲抓取代理IP-創(chuàng)新互聯(lián)
文章出自:http://vcdvsql.cn/article10/ddjjgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、全網(wǎng)營(yíng)銷推廣、品牌網(wǎng)站建設(shè)、ChatGPT、動(dòng)態(tài)網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容