Python的requests包可方便实现网络爬虫功能。今天在公司进行数据抓取时总是提示连接错误,分析发现,原来是因为公司网络设置了自动代理,Python直接访问网页都被拒绝,本文将解决这个问题。
问题的关键,是要让Python清楚代理的规则,从而访问目标网页时可调用相应的代理服务器。说道这里,就不能称赞下Python的资源了,很多问题,前人基本都已经提供了解决方案。果然随便一搜,就找到了对应的package。详细地址
找到包那就让我们开始吧
- 安装包
pip install pypac
- 获取自动配置文件pac地址
打开IE浏览器,找到连接设置页,点击局域网设置,复制PAC脚本地址
- 运行Python代码
from pypac import PACSession,get_pac
pac = get_pac(url='http://xxxx/xxx.pac') #url就是步骤2复制的pac文件地址
s = PACSession(pac) #解析pac文件
r = s.get(url) #PACSession同requests的Session
抓取成功!