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 返回