Python代码挂全局代理

简介

我们有时候在做一些爬虫的时候可能需要爬取国外网站,而有时候这些网站都是被墙的,此时就需要挂上全局代理去访问。

解决

解决方案有很多,最简单的就是本地起一个 ssr 小飞机或者 v2ray,开启全局代理模式,让代码在全局代理模式下运行。但是这样就有可能影响到我的其他工作了,所以我们在代码中实现是最理想的也是最合适的方案。

首先我们需要安装 socks 库,其中 socket 是 python 自带的库无需再安装了。安装 socks 库的时候需要注意的是这个库不能直接装,需要执行如下命令:

pip install -U requests[socks]

此步骤是更新 requests 版本为支持 socks 的版本,否则会报错误:

ModuleNotFoundError: No module named 'socks' 

然后下面便是演示代码:

import requests
import socket
import socks
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 8080)
socket.socket = socks.socksocket


r = requests.get('https://www.youtube.com')
print(r.status_code)

这样便可以在 python 代码中设置全局代理进行爬取访问国外某些网站了。

发表评论

电子邮件地址不会被公开。必填项已用 * 标注