偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

手把手教你用免費(fèi)代理IP爬數(shù)據(jù)

開發(fā) 后端
玩爬蟲的都避免不了各大網(wǎng)站的反爬措施限制,比較常見的是通過固定時(shí)間檢測(cè)某ip地址訪問量來判斷該用戶是否為 “網(wǎng)絡(luò)機(jī)器人”,也就是所謂的爬蟲,如果被識(shí)別到,就面臨被封ip的風(fēng)險(xiǎn),那樣你就不能訪問該網(wǎng)址了。

一.前言

玩爬蟲的都避免不了各大網(wǎng)站的反爬措施限制,比較常見的是通過固定時(shí)間檢測(cè)某ip地址訪問量來判斷該用戶是否為 “網(wǎng)絡(luò)機(jī)器人”,也就是所謂的爬蟲,如果被識(shí)別到,就面臨被封ip的風(fēng)險(xiǎn),那樣你就不能訪問該網(wǎng)址了。

[[317798]]

通用的解決辦法是用代理ip進(jìn)行爬取,但是收費(fèi)的代理ip一般都是比較貴的,網(wǎng)上倒是有很多免費(fèi)的代理ip網(wǎng)站,但是受時(shí)效性影響,大部分地址都不能用,有很多維護(hù)代理ip池的教程,即把爬取并檢測(cè)后能用代理ip放到“代理池里”,等以后要用的時(shí)候再?gòu)睦锩嫣崛?,在我看來,這種效率比較低,因?yàn)檫@類IP地址很快就失效,我們要做的是邊檢測(cè)邊使用,充分保證免費(fèi)IP的時(shí)效性。

二.抓取IP地址

下面就開始實(shí)戰(zhàn)操作。

1.首先我們隨便找一個(gè)免費(fèi)代理ip網(wǎng)站,如下圖所示。

 

2、打開網(wǎng)頁(yè)查看器,分析其網(wǎng)頁(yè)元素結(jié)構(gòu),如下圖所示。

 

3、就是一個(gè)簡(jiǎn)單的靜態(tài)網(wǎng)頁(yè),我們用requests和bs4將ip地址和對(duì)應(yīng)端口爬下,如下圖所示。

 

4、每一行ip地址都由5個(gè)標(biāo)簽組成,而我們需要的是第一個(gè)標(biāo)簽(對(duì)應(yīng)IP地址)和第2個(gè)標(biāo)簽(對(duì)應(yīng)端口),所以從第一個(gè)開始,每隔5個(gè)取出ip地址(item[::5]),從第二個(gè)開始,每隔5個(gè)取出對(duì)應(yīng)端口(item[1::5]),參數(shù)n為頁(yè)碼,每次只在1頁(yè)取1個(gè)有用的ip地址,最終效果如下圖所示:

 

三.驗(yàn)證IP有效性

這里把百度百科作為目標(biāo)網(wǎng)站,這個(gè)看似很普通的網(wǎng)站,反爬措施卻極為嚴(yán)格,爬不了幾條內(nèi)容就開始請(qǐng)求失敗了,下面我以在百度百科查詢?nèi)珖?guó)火車站歸屬地信息為例演示如何使用免費(fèi)代理ip。

1、首先我在12306上把所有的火車站名都爬下來了,但是沒有歸屬地信息。

 

2、然后以站名構(gòu)造百度百科url信息,分析網(wǎng)頁(yè)元素,把爬取爬取火車站地址信息,網(wǎng)頁(yè)元素如下圖所示:

 

3、所以,我們只需在class_='basicInfo-item'的標(biāo)簽內(nèi)容里查找有無“省”或者“市”的字符,然后輸出就行了,最后加一個(gè)while True循環(huán),當(dāng)該ip能正常爬數(shù)據(jù)時(shí),則break該循環(huán);若該ip被禁,則馬上重新請(qǐng)求一個(gè)新ip進(jìn)行爬取。直接上代碼如下圖所示:

 

4、其中for循環(huán)是遍歷所有火車站,try是用于檢測(cè)該ip還能不能用,若不能,則在except里請(qǐng)求1個(gè)新ip,爬取效果如下圖所示:

 

下次再遇到爬蟲被禁的情況就可以用此辦法解決了。

四.結(jié)語(yǔ)

本文基于Python網(wǎng)絡(luò)爬蟲技術(shù),主要介紹了去IP代理網(wǎng)站上抓取可用IP,并且Python腳本實(shí)現(xiàn)驗(yàn)證IP地址的時(shí)效性,如遇到爬蟲被禁的情況就可以用本文的辦法進(jìn)行解決。

責(zé)任編輯:華軒 來源: Python爬蟲與數(shù)據(jù)挖掘
相關(guān)推薦

2021-07-03 09:04:22

XPathPython免費(fèi)代理IP

2021-08-09 13:31:25

PythonExcel代碼

2022-10-19 14:30:59

2021-05-10 06:48:11

Python騰訊招聘

2011-03-28 16:14:38

jQuery

2021-02-04 09:00:57

SQLDjango原生

2021-02-06 14:55:05

大數(shù)據(jù)pandas數(shù)據(jù)分析

2022-08-04 10:39:23

Jenkins集成CD

2009-04-22 09:17:19

LINQSQL基礎(chǔ)

2021-01-21 09:10:29

ECharts柱狀圖大數(shù)據(jù)

2021-01-08 10:32:24

Charts折線圖數(shù)據(jù)可視化

2012-01-11 13:40:35

移動(dòng)應(yīng)用云服務(wù)

2021-08-02 23:15:20

Pandas數(shù)據(jù)采集

2021-02-02 13:31:35

Pycharm系統(tǒng)技巧Python

2021-12-11 20:20:19

Python算法線性

2021-05-08 08:04:05

Python爬取素材

2020-12-17 09:40:01

Matplotlib數(shù)據(jù)可視化命令

2022-04-01 20:29:26

Pandas數(shù)據(jù)存儲(chǔ)

2017-10-27 10:29:35

人臉識(shí)別UbuntuPython

2021-06-05 23:51:21

ECharts氣泡圖散點(diǎn)圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)