A11.IP代理.txt

UP 返回
搜索西刺免费代理/大象代理(失效的少一点)

#ip代理池
import urllib.request,random
ippools=[
    "125.120.201.120:808",
    "112.247.100.200:9999",
    "112.247.5.22:9999",
    ]
def ip(ippools):
    thisip=random.choice(ippools)    
    proxy=urllib.request.ProxyHandler({"http":thisip})
    opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
    urllib.request,install_opener(opener)

for i in range(0,5):
    try:
        ip(ippools)
        url="http://www.baidu.com"
        data=urllib.request.urlopen(url).read().decode("utf-8","ignore")
        fh=open("目录\\ip_baidu.html")
        fh.write(data)
        fh.close()
    except Exception as err:
        print(err)

#使用接口的方式实现ip代理池(适用于IP代理不稳定的情况)
import urllib.request
def api(time,isurllib):
    thisall=urllib.request.urlopen("可以生成ip代理的网址").read()
    #http://tvp.daxiangdaili.com/ip/?tid=559126871522487&num=3&foreign=only
    ippools=[]
    for item in thisall:
        ippools.append(item.decode("utf-8","ignore"))
    return ippools
def ip(ippools,time):
    thisip=ippools[time]
    proxy=urllib.request.ProxyHandler({"http":thisip})
    opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
    urllib.request,install_opener(opener)
x=0
for i in range(0,35):
    try:
        if(x%10==0):
            time=x%10
            ippools=api()
            ip(ippools,time)
        else:
            time=x%10
            ip(ippools,time)
        url="http://www.baidu.com"
        data1=urllib.request.urlopen(url).read()
        data=data1.decode("utf-8","ignore")
        fh=open("目录\\ip_baidu.html")
        fh.write(data)
        fh.close()
        x+=1
    except Exception as err:
        print(err)

#淘宝图片爬取
	略

#将自动更换用户和ip并访问网页封装为一个模块,代码如下:
	def ua_ip(myurl):
	    import urllib.request
	    import random
	    #用户代理池
	    uapools=[
	        "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0",
	        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763",
	        "Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50", 
	        ]
	    '''
	    def ua(uapools):
	        thisua=random.choice(uapools)
	        print(thisua)
	        headers=("User-Agent",thisua)
	        opener=urllib.request.build_opener()
	        opener.addheaders=[headers]
	        #安装为全局
	        urllib.request.install_opener(opener)
	    '''
	    #ip代理池(暂时无法实现)
	    def api():
	        print("调用接口")
	        thisall=urllib.request.urlopen("http://tvp.daxiangdaili.com/ip/?tid=55912687")
	        ippools=[]
	        for item in thisall:
	            ippools.append(item.decode("utf-8","ignore"))
	        return ippools
	
	    def setUaAndIp(ippools,time,uapools):
	        thisua=random.choice(uapools)
	        print("Now Agent:"+thisua)
	        headers=("User-Agent",thisua)
	        #thisip=ippools[time]
	        #print("Now IP:"+thisip)
	        #proxy=urllib.request.ProxyHandler({"https":thisip})
	        #opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
	        opener=urllib.request.build_opener()
	        opener.addheaders=[headers]
	        urllib.request.install_opener(opener)       
	    x=0
	    for i in range(0,35):
	        try:
	            if(x%10==0):
	                time=x%10
	                ippools=api()
	                setUaAndIp(ippools,time,uapools)
	            else:
	                tima=x%10
	                setUaAndIp(ippools,time,uapools)
	            url=myurl
	            data1=urllib.request.urlopen(url).read()
	            data=data1.decode("utf-8","ignore")
	            print(len(data))
	            x=+1
	            break
	        except Exception as err:
	            print(err)
	            x+=1
	    return data
	#ua_ip("http://www.baidu.com")
封装方法:file→Save Copy As...→将文件存入python环境下的lib文件夹即可
	此处已将其存为D:\EnvironmentExtends\Python\Lib\myUaIpVisit.py
	调用函数为ua_ip(url)



























DOWN 返回