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

封装了一个同时使用用户代理池与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("你想输入的网址")

1426137-035eaa6ff2f266ab.png
image.png
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值