requests请求中代理ip中的proxies
proxies的格式是一个字典:{‘http’: ‘http://42.84.226.65:8888‘}
有http与https两种,在爬取不同网站时我们需要选用不同类型的网站时选用不同的proxise,在不知道网站类型时可以将两种类型均放进去,requests会自动选择合适的
proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080" }
- http型:{‘http’: ‘http://42.84.226.65:8888‘}
- https型:{‘https’: ‘http://124.193.37.5:8888‘}
如果你是这样的
proxies = { "https": "http://10.10.1.10:1080" }
而你要爬的是http型网站
你的requests也可以成功,但是使用的还是你真实的ip地址
只有当你的proxies类型与你想访问的网站类型相同,代理ip才会起作用
可以用以下代码检验你的代理ip是否成功启用
import requests proxies = { "https": "http://10.10.1.10:1080" } req = requests.get('http://icanhazip.com/', proxies=proxies) print(req.content)
访问 http://icanhazip.com/(https://icanhazip.com/) 可以得到你访问时的ip地址
判断代理是否有效的方法
import telnetlib try: telnetlib.Telnet('10.10.1.10', port='1080', timeout=3) except: print('ip无效!') else: print('ip有效!')
来自:https://blog.csdn.net/qq_38251616/article/details/81675871?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task