作者:IPIDEA
2022-09-28 11:50:03
看到网上关于爬虫的教程,有一个词会经常出现。不知道大家有没有注意到,就是ip代理池。IPIDEA要给大家介绍一下什么是ip代理池。
什么是用户ip代理池?
用户代理池是将不同的用户代理组成一个池,然后随机调用。
功能:每次访问代表使用不同的浏览器
import urllib.request
import re
import random
uapools=[
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0,
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER,
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1,
Mozilla/5.0 (Windows; U; Windows NT 6.1; ) AppleWebKit/534.12 (KHTML, like Gecko) Maxthon/3.0 Safari/534.12,
]
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)
for i in range(10):
ua(uapools)
thisurl="https://www.qiushibaike.com/text/page/"+str(i+1)+"/";
data=urllib.request.urlopen(thisurl).read().decode("utf-8","ignore")
pat=<div class="content">.*?<span>(.*?)</span>.*?</div>
res=re.compile(pat,re.S).findall(data)
for j in range(len(res)):
print(res[j])
print(---------------------)
简单的说吧,代理IP池就是将可用的ip代理都集中在一起,将其配置到爬虫程序当中,当一个IP失效之后,马上又另外一个IP接着使用。