小章郎 发表于 2018-11-15 21:10:47

设置代理ip问题

学到用代理代码如下:
import urllib.request
import random
url = 'https://www.whatismyip.com/'

iplist = ['115.223.235.185:9000','116.113.27.170:61550','114.234.80.122:9000','60.217.64.237:61719']
proxy_support = urllib.request.ProxyHandler({'http':random.choice(iplist)})

opener = urllib.request.build_opener(proxy_support)
opener.add_handlers = [('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36')]

urllib.request.install_opener(opener)

response = urllib.request.urlopen(url)
html =response.read().decode('utf-8')

print(html)

url = 'https://www.whatismyip.com/'时死活返回403错误【尝试无数新代理ip】,url修改成‘https://www.baidu.com/’时完美返回页面内容
请教大佬们是怎么回事?该怎么处理,我哪里出错了吗?

塔利班 发表于 2018-11-15 21:59:17

add_headers
当然结果还会是403

塔利班 发表于 2018-11-15 22:07:34

import requests
import random
url = 'https://www.whatismyip.com/'

proxies ={'https':'59.57.151.126:37749','https':'59.110.240.249:8080'}

headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36'}

res=requests.get(url,headers=headers,proxies=proxies)
print(res.text)

用的西刺得到的IP是对的

小章郎 发表于 2018-11-15 22:55:03

塔利班 发表于 2018-11-15 21:59
add_headers
当然结果还会是403

哦哦,联想词没注意看,错了还不知道,真是马虎{:7_138:}

小章郎 发表于 2018-11-15 23:03:12

塔利班 发表于 2018-11-15 22:07
用的西刺得到的IP是对的

大大,刚刚你那段卡住了怎么回事,说找不到requests

塔利班 发表于 2018-11-15 23:06:21

这是第三方库
cmd输入pip install requests安装

小章郎 发表于 2018-11-15 23:17:53

塔利班 发表于 2018-11-15 23:06
这是第三方库
cmd输入pip install requests安装

那是不是视频中小甲鱼教的方法在python更新过程中已经不能使用了

塔利班 发表于 2018-11-15 23:21:59

不是,有道还是可以的
urllib做爬虫用的少

小章郎 发表于 2018-11-15 23:32:54

塔利班 发表于 2018-11-15 23:21
不是,有道还是可以的
urllib做爬虫用的少

我刚刚试了好几次,编码如下:
import urllib.request
import random
url = 'https://www.ip.cn/'

iplist = ['115.223.235.185:9000','116.113.27.170:61550','114.234.80.122:9000','60.217.64.237:61719']
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 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36')]

urllib.request.install_opener(opener)

response = urllib.request.urlopen(url)
html =response.read().decode('utf-8')

print(html)

可是出来的ip地址居然是本机的ip地址而不是我提供作为代理ip的那三个其中之一,大大能告诉我这是为什么吗?

小章郎 发表于 2018-11-15 23:34:58

对了,因为https://www.whatismyip.com/访问上限了所以我改用https://www.ip.cn/这个作为测试ip地址的网站

小章郎 发表于 2018-11-16 00:01:56

已经安装了第三方库requests了,谢谢大大指路。刚刚大大给的这段代码:
import requests
import random
url = 'https://www.whatismyip.com/'

proxies ={'https':'59.57.151.126:37749','https':'59.110.240.249:8080'}

headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36'}

res=requests.get(url,headers=headers,proxies=proxies)
print(res.text)
就能跑出给定的代理ip两个之中的一个,可是教学视频里的方法为什么跑出来还是自己的ip呢不能显示我给予的代理ip?

wongyusing 发表于 2018-11-16 00:07:34

你res.xxxx
看一下其他东西,忘记叫什么了

小章郎 发表于 2018-11-16 07:16:01

wongyusing 发表于 2018-11-16 00:07
你res.xxxx
看一下其他东西,忘记叫什么了

我是初学者,这个res.xxxx不好理解啊,我就是不理解我给出了代理ip可是为什么跑出来是我自己的ip,塔利班大大却可以跑出代理ip来,是不是我哪里写错了

塔利班 发表于 2018-11-16 07:22:39

小章郎 发表于 2018-11-16 07:16
我是初学者,这个res.xxxx不好理解啊,我就是不理解我给出了代理ip可是为什么跑出来是我自己的ip,塔利班 ...

IP有时效的,免费的还不稳定,建议你搜索西刺代理,按照https,http代理来试,上面2种又分高匿和透明代理

小章郎 发表于 2018-11-16 07:35:20

塔利班 发表于 2018-11-16 07:22
IP有时效的,免费的还不稳定,建议你搜索西刺代理,按照https,http代理来试,上面2种又分高匿和透明代理

塔利班大大,再问一个问题,我下面这段代码,在代理没有问题的情况下,是能跑出代理ip的吗?你能不能找几个能用的代理帮我跑一下看看,我跑出来都是显示自己的ip,换了很多代理,所以我才怀疑要不我代码打错,要不就是哪儿出问题了,萌新层次问题都比较傻,大大辛苦了
代码如下:
mport urllib.request
import random
url = 'https://www.ip.cn/'

iplist = ['115.223.235.185:9000','116.113.27.170:61550','114.234.80.122:9000','60.217.64.237:61719']
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 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36')]

urllib.request.install_opener(opener)

response = urllib.request.urlopen(url)
html =response.read().decode('utf-8')

print(html)

塔利班 发表于 2018-11-16 08:08:48

用https透明代理
import urllib.request
import random
url = 'https://www.ip.cn/'

iplist = ['221.217.50.251:9000','101.132.122.230:3128']
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 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36')]

urllib.request.install_opener(opener)

response = urllib.request.urlopen(url)
html =response.read().decode('utf-8')

print(html)

小章郎 发表于 2018-11-16 08:32:18

塔利班 发表于 2018-11-16 08:08
用https透明代理

帅气{:10_254:}可以跑出代理ip了,谢谢大大

考拉熊 发表于 2018-11-16 09:19:46

过来顶一下

海风zZ 发表于 2018-11-16 12:24:23

过来顶一下

我爱小草hj 发表于 2018-12-14 15:31:35

塔利班 发表于 2018-11-16 08:08
用https透明代理

你好,我按照代码运行,多运行几次以后,跑出来的IP不是代理池(iplist)里面的IP,也不是我自己的IP,这是怎么回事呢?
页: [1] 2
查看完整版本: 设置代理ip问题