python爬虫学习

IP代理

2017-10-30  本文已影响2人  薛落花随泪绽放
#IP代理池构建的第一种方案(适合于代理IP稳定的情况)
import random
import urllib.request
ippools=[
    "代理的IP",
    "",
    "",
]
def ip(ippools):
    thisip=random.choice(ippools)
    print(thisip)
    proxy=urllib.request.ProxyHandler({"http":thisip})
    opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
    urllib.request.install_opener(opener)
ip(ippools)
url="http://www.baidu.com"
data1=urllib.request.urlopen(url).read()
data=data1.decode("utf-8","ignore")
print(len(data))
for i in range(0,5):
    try:
        ip(ippools)
        url="http://www.baidu.com"
        data1=urllib.request.urlopen(url).read()
        data=data1.decode("utf-8","ignore")
        print(len(data))
        fh=open("F:/pycharmxuexi/rst/ip_baidu")
        fh.write(data1)
        fh.close()
    except Exception as err:
        print(err)



#IP代理池实现的第二种方式(接口调用法,这种方法更适用于代理IP不稳定的情况)
import urllib.request
def ip():
    thisip=urllib.request.urlopen("网址").read().decode("utf-8","ignore")
    print(thisip)
    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"
        data1=urllib.request.urlopen(url).read()
        data=data1.decode("utf-8","ignore")
        print(len(data))
        fh=open("F:/pycharmxuexi/rst/ip_baidu")
        fh.write(data1)
        fh.close()
    except Exception as err:
        print(err)
上一篇 下一篇

猜你喜欢

热点阅读