赫宝宝 发表于 2021-5-10 15:09:47

python爬虫小问题

import urllib.request
import random

url = 'http://www.whatismyip.com.tw'

iplist = ['47.56.4.34:80','113.120.63.217:9999','60.169.240.212:9999']
proxy_support = urllib.request.ProxyHandler({'https':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/90.0.4430.93 Safari/537.36 Edg/90.0.818.56')]

response = opener.open(url)
'''
urllib.request.install_opener(opener)
response = urllib.request.urlopen(url)

'''
html = response.read().decode('utf-8')

print(html)

用这个代理ip查ip,但是返回的结果:

ip<script type="application/json" id="ip-json">{"ip":"我的真实ip","ip-country":"CN","ip-real":"","ip-real-country":""}</script>

有没有大神帮助解答一下

南归 发表于 2021-5-10 18:07:48

iplist来源呢?保证可用吗

suchocolate 发表于 2021-5-10 18:08:56

帮你试了,3个代理服务器都不能用。

南归 发表于 2021-5-10 18:10:01

两个问题
1.proxy_support = urllib.request.ProxyHandler({'https':random.choice(iplist)})
这里只设置了https代理,而访问的网站是http,
2.ip失效,错误结果为 由于目标计算机积极拒绝,无法连接

赫宝宝 发表于 2021-5-20 16:12:47

南归 发表于 2021-5-10 18:10
两个问题
1.proxy_support = urllib.request.ProxyHandler({'https':random.choice(iplist)})
这里只设 ...

问题解决了,是代理ip的问题,那为什么代理ip不好用,但是使用https方法访问这个网站还能得到自己的真实ip

suchocolate 发表于 2021-5-20 16:28:02

赫宝宝 发表于 2021-5-20 16:12
问题解决了,是代理ip的问题,那为什么代理ip不好用,但是使用https方法访问这个网站还能得到自己的真实i ...

代理不好用访问whatismyip会返回自己的ip。
代理好用访问whatismyip会返回代理的ip。
还是用收费的吧,免费的都不稳定。
页: [1]
查看完整版本: python爬虫小问题