更换ip+代理设置
程序员文章站
2022-06-03 17:42:36
...
为什么要换ip呢?因为在爬虫过程中,一些网站会检测你的ip访问网站的频率,如果频率高了的话,网站会封ip,迫使你需要进行登陆操作,也就是常说的反爬虫。
不断地更换ip,就可以避免爬虫时的登陆操作。
西刺免费代理,该网站提供了一些免费代理使用。
代码测试网站(http://httpbin.org/get)访问该网站可以得到请求的相关信息。‘origin’字段就是客户端的ip,我们可以根据它来判断代理是否设置成功,即是否伪装了ip。
1. Requests请求库的代理设置
简单代理设置
import requests
proxy = '101.37.79.125:3128' # 获取的一个免费代理
proxies = {
'http': 'http://' + proxy,
'https': 'https://' + proxy,
}
try:
response = requests.get('http://httpbin.org/get', proxies=proxies)
print(response.text)
except requests.exceptions.ConnectionError as e:
print('Error', e.args)
打印输出json字符串
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Cache-Control": "max-age=259200",
"Connection": "close",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.18.4"
},
"origin": "182.138.127.1, 101.37.79.125", # 证明成功伪装了ip
"url": "http://httpbin.org/get"
}
代理需要认证
使用SOCKS5代理
额外安装一个模块
2. 使用Selenium设置代理
from selenium import webdriver
proxy = '101.37.79.125:3128'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://' + proxy)
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('http://httpbin.org/get')
下一篇: 检测是否有人在抢自己的ip