python 爬蟲 批量獲取代理ip的實(shí)例代碼
更新時(shí)間:2018年05月22日 15:14:30 作者:mzbqhbc12
今天小編就為大家分享一篇python 爬蟲 批量獲取代理ip的實(shí)例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
實(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)文章
python GUI框架pyqt5 對圖片進(jìn)行流式布局的方法(瀑布流flowlayout)
這篇文章主要介紹了python GUI框架pyqt5 對圖片進(jìn)行流式布局的方法(瀑布流flowlayout),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03python實(shí)現(xiàn)堆棧與隊(duì)列的方法
這篇文章主要介紹了python實(shí)現(xiàn)堆棧與隊(duì)列的方法,包含了堆棧與隊(duì)列的定義方法及常用操作,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01python enumerate內(nèi)置函數(shù)用法總結(jié)
這篇文章主要介紹了python enumerate內(nèi)置函數(shù)用法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01