欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

更换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