|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位大佬好。
我想问一个关于Python使用不同IP地址的问题。这其实是小甲鱼入门学Python 055 一只爬虫的自我修养:隐藏 的课堂例子。
问题描述:
使用不同的IP地址来打开一个检测IP地址的网页。
在返回的一大串字符里可以看到IP地址确实会有改变。
代码如下:(IP 地址的那个列表是我新找的IP 地址, User-Agent也换成了我电脑的,其余的我直接用的是小甲鱼的代码,没有改动)
import urllib.request
import random
url = 'http://www.whatismyip.com.tw'
iplist = ['39.137.95.71:80', '36.25.243.51:80', '39.137.95.73:8080']
proxy_support = urllib.request.ProxyHandler({'http':random.choice(iplist)})
opener = urllib.request.build_opener(proxy_support)
opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36')]
urllib.request.install_opener(opener)
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
print(html)
问题:
我尝试运行上面的代码,结果一直报错:urllib.error.HTTPError: HTTP Error 502: Bad Gateway
我试了试其他一下检测IP 地址的网站, 比如:http://www.myipaddress.com/show-my-ip-address/
结果虽然没有报错,但是在返回的一大推字符里我却找不到IP地址。(如果直接打开http://www.myipaddress.com/show-my-ip-address/,我是可以看到我电脑的IP 地址的)
请问这是为啥?怎样解决?
谢谢!
大概是代理的问题? 
|
|