python爬虫requests设置代理ip_Python 爬虫的代理 IP 设置方法汇总

本文转载自:Python 爬虫的代理 IP 设置方法汇总 https://www.makcyun.top/web_scraping_withpython15.html

需要学习的地方:如何在爬虫中使用代理IP

Requests 和 Scrapy 中的代理 IP 设置。

摘要:对于采取了比较强的反爬措施网站来说,要想顺利爬取网站数据,设置随机 User-Agent 和代理 IP 是非常有效的两个方法,继上一篇文章介绍了随机 UserAgent 的设置方法之后,本文接着介绍如何在 Requests 和 Scrapy 中设置代理 IP。

上一篇文章见:

本文的目标测试网页选择下面这个 URL,请求该网页可以返回当前的 IP 地址:

下面,我们就先来说说 Requests 中如何设置代理 IP。

Requests

▌不使用代理

首先,先来看一下不使用代理 IP 的情况:

import requests

url = 'http://icanhazip.com'

try:

response = requests.get(url) #不使用代理

print(response.status_code)

if response.status_code == 200:

print(response.text)

except requests.ConnectionError as e:

print(e.args)

运行上面的程序,会返回我们电脑本机的 IP,可以通过百度查询 IP 地址对比一下就知道了。

200

124.238.223.xxx # 后三位隐去了

[Finished in 0.8s]

70746468.jpg

▌使用代理

然后,我们测试一下使用代理后的情况。

常见的代理包括 HTTP 代理和 SOCKS5 代理,前者可以找一些免费代理 IP 进行测试,由于我电脑上使用的是 Shadowsocks,所以就介绍一下 SOCKS5 代理的设置。

首先,电脑上要安装有 Shadowsocks ,如果你还没听过或者使用过这个神器,可以参考下我之前写的篇文章:

启动该软件后默认会在 1080 端口下创建 SOCKS5 代理服务,代理为:127.0.0.1:1080,然后我们在 Requests 中使用该代理,方法很简单只需要添加一项 proxies 参数即可:

proxies = [

{'http':'socks5://127.0.0.1:1080'},

{'https':'socks5://127.0.0.1:1080'}

]

proxies = random.choice(proxies)

print(proxies)

url = 'http://icanhazip.com'

try:

response = requests.get(url,proxies=proxies) #使用代理

print(response.status_code)

if response.status_code == 200:

print(response.text)

except requests.ConnectionError as

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值