对付一些简单的反爬机制, IP代理和用户代理差不多能很好的解决规模不大的网站. 如果你有持久的IP, 你完全可以把下面的代码封装一下, 以后可以直接使用
import urllib.request import random import ssl uaplls=[#用户代理池 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36", ] ssl._create_default_https_context = ssl._create_unverified_context def ip(uapools): thisua = random.choice(uapools) print("当前使用" + thisua) headers = ("User-Agent", thisua) thisip=urllib.request.urlopen("http://tpv.daxiangdaili.com/ip/?tid=559754555433921&num=1&protocol=https").read().decode("utf-8","ignore") print("当前使用的IP:"+thisip) ip = urllib.request.ProxyHandler({"https": thisip})#获取IP opener = urllib.request.build_opener(ip, urllib.request.HTTPHandler) opener.addheaders = [headers] urllib.request.install_opener(opener) url="https://www.woyaogexing.com/touxiang/" for i in range(1,100): try: ip(uaplls) data=urllib.request.urlopen(url).read().decode("gbk","ignore") print(len(data)) except Exception as err: print(err)

奥利给
我也是学计算机的
我也是学计算机的
我也是学计算机的
记住这个网站了
不错
good厉害了