美文网首页
Mac系统下 Python添加自定义模块

Mac系统下 Python添加自定义模块

作者: 挠叔 | 来源:发表于2018-03-05 21:12 被阅读613次

封装了一个同时使用用户代理池与ip代理池的方法

def ua_ip(myurl):
import urllib.request
import random
uapools=[
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Firefox/52.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6",
"Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Maxthon2.0)",
]

def api():
     print("this make a new ip")
     thisall=urllib.request.urlopen("http://tvp.daxiangdaili.com/ip/?tid=********大象ip的订单号********&num=10&foreign=only&filter=on")
     ippools=[]
     for item in thisall:
         ippools.append(item.decode("utf-8","ignore"))
     return ippools

def ip(ippools,time,uapools):
    thisua=random.choice(uapools)
    print(thisua)
    headers=("USer-Agent",thisua)
    thisip=ippools[time]
    print("currntIp is :"+ippools[time])
    proxy=urllib.request.ProxyHandler({"http":thisip})
    opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
    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()
                ip(ippools,time,uapools)
            else:
                time=x%10
                ip(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.py

当想调用的时候

import sys
sys.path.append('/Users/cailiang/Desktop/ua_ip.py')
from ua_ip import *
data=ua_ip("你想输入的网址")

image.png

相关文章

网友评论

      本文标题:Mac系统下 Python添加自定义模块

      本文链接:https://www.haomeiwen.com/subject/pklkfftx.html