给爬虫加上Shadowsocks代理

起源

遇到抓取一个境外的网站,浏览器可以正常访问,但是requests请求却一直被拒绝了!

折腾了好久,才发现,关了Shadowsocks浏览器也不能访问!原来,这个站点直接屏蔽了国内的IP

所以,得给爬虫加上Shodowsocks的代理,科学爬虫!

步骤

装个包

在requests中采用socks代理需要先安装一个包:

1
sudo pip install requests[socks]

代码示例

1
2
3
4
5
6
7
import requests
header = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}
url = 'https://shop.nordstrom.com/api/sr?contextualcategoryid=2375500&origin=keywordsearch&keyword=*&top=72'
response = requests.get(url,headers=header,proxies={'https':'socks5://127.0.0.1:1086'})
print(response.text)

备注

如果希望将Shadowsocks的代理开放出来,需要配置中的监听地址修改为0.0.0.0