更换ip+代理设置

为什么要换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')

猜你喜欢

转载自blog.csdn.net/qq_17249717/article/details/81771842