python 爬蟲 批量獲取代理ip的實(shí)例代碼
更新時(shí)間:2018年05月22日 15:14:30 作者:mzbqhbc12
今天小編就為大家分享一篇python 爬蟲 批量獲取代理ip的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
實(shí)例如下所示:
import urllib.request
import os, re,sys,time
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
loca = re.compile(r"""ion":"\D+", "ti""")
#偽裝成瀏覽器
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'}
class Getip():
def __init__(self,diqu):
self.ur ={"xicidaili國內(nèi)普通代理 --1線":"http://www.xicidaili.com/nt/",
"ip84國內(nèi)普通代理 --2線":'http://www.ip84.com/dlpn-http/',
'xicidaili國內(nèi)高匿名代理 --1線':'http://www.xicidaili.com/nn/',
'ip84國內(nèi)高匿名代理 --2線':'http://www.ip84.com/dlgn-http/',
'xicidaili國外高匿名代理 --1線':'http://www.xicidaili.com/wn/',
'ip84國外高匿名代理 --2線':'http://www.ip84.com/gwgn-http/',
'xicidaili國外普通代理 --1線':'http://www.xicidaili.com/wt/',
'haodailiip國內(nèi)混合代理 --3線':'http://www.haodailiip.com/guonei/',
'haodailiip國外混合代理 --3線':'http://www.haodailiip.com/guoji/',
}
self.diqu = diqu
def urlopen(self,url):
global header
try:
req = urllib.request.Request(url, None, header)
res=urllib.request.urlopen(req)
return res
except:
pass
def getip(self,ren):
'''url = "http://proxy.ipcn.org/proxylist.html"#代理IP頁面
ip_proxy_re = re.compile(r"""\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,}""")# 直接匹配 xxx.xxx.xxx.xxx:xxxx'''
url = self.ur[self.diqu]+str(ren)
ip_proxy_re = re.compile(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*</td>\s*<td>\s*(\d{1,})\s*</td>\s*<[^\u4E00-\u9FA5]+>([\u4E00-\u9FA5]*\s*[\u4E00-\u9FA5]*\s*[\u4E00-\u9FA5]*)\s*<')
#################################通用正則匹配的 格式 是 (IP,端口,地區(qū)) 地區(qū)有可能包含換行和空格
try:
data = self.urlopen(url).read().decode('utf-8')
except:
return None
self.rel = []
ip = ip_proxy_re.findall(data)
##########返回的IP 就是 正則匹配的結(jié)果(IP,端口,地區(qū)) 地區(qū)有可能包含換行和空格
return ip
if __name__ == '__main__':
g=Getip("xicidaili國內(nèi)普通代理 --1線")
import pprint
for x in range(4):
ips = g.getip(1)
print('獲取到ip地址一共:',len(ips))
pprint.pprint(ips)
以上這篇python 爬蟲 批量獲取代理ip的實(shí)例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Jupyter Notebook 如何修改字體和大小以及更改字體樣式
這篇文章主要介紹了Jupyter Notebook 如何修改字體和大小以及更改字體樣式的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
使用Python實(shí)現(xiàn)PDF頁面設(shè)置操作
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)PDF頁面設(shè)置操作,例如旋轉(zhuǎn)頁面和調(diào)整頁面順序,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
Python3+selenium實(shí)現(xiàn)cookie免密登錄的示例代碼
這篇文章主要介紹了Python3+selenium實(shí)現(xiàn)cookie免密登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Python opencv圖像基本操作學(xué)習(xí)之灰度圖轉(zhuǎn)換
使用opencv將圖片轉(zhuǎn)為灰度圖主要有兩種方法,第一種是將彩色圖轉(zhuǎn)為灰度圖,第二種是在使用OpenCV讀取圖片的時(shí)候直接讀取為灰度圖,今天通過實(shí)例代碼講解Python opencv圖像基本操作學(xué)習(xí)之灰度圖轉(zhuǎn)換,感興趣的朋友一起看看吧2023-02-02
python實(shí)現(xiàn)多線程網(wǎng)頁下載器
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)一個(gè)多線程網(wǎng)頁下載器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
Python實(shí)現(xiàn)監(jiān)控鍵盤鼠標(biāo)操作示例【基于pyHook與pythoncom模塊】
這篇文章主要介紹了Python實(shí)現(xiàn)監(jiān)控鍵盤鼠標(biāo)操作,結(jié)合實(shí)例形式分析了Python基于pyHook與pythoncom模塊的鍵盤、鼠標(biāo)事件響應(yīng)及日志文件操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-09-09

