requests模块中proxies参数用法

前言

此篇文章中介绍requests模块中的代理IP参数proxies的详细用法。

正文

1、proxies参数介绍

proxies参数:代替本机的IP地址, 去对接网络的IP地址;其作用是,隐藏真实IP,避免被目标网站封掉。

2、代理IP分类

常见两种分类依据:匿名度、协议

2.1、根据匿名度分类
  1. 高匿代理:Web端只能看到代理IP;
  2. 普通代理:Web端知道有人通过此代理IP访问,但不知用户真实IP;
  3. 透明代理:Web端能看到用户真实IP,也能看到代理IP。
2.2、根据协议分类
  1. http代理:目标url为http协议;
  2. https代理:目标url为https协议;
  3. socks代理 :简单的传递数据包,不关心是何种协议,比http和https代理消耗小, 可以转发http和https的请求。

3、获取代理IP的网站

西刺代理、快代理(https://www.kuaidaili.com/free/)、全网代理、代理精灵…
在这里插入图片描述

4、proxies参数语法格式

使用免费代理IP:
免费代理IP:公网IP;每天可用IP数量>30000个;稳定性较差;访问网页的速度较慢;适合代理IP数量需求很大,对稳定性要求不是很高的客户。

proxies={"协议":"协议://IP:端口号"}

5、proxies参数用法示例

使用免费代理IP:

proxies={
    ‘http’:'http://IP:端口号',
    ‘https’:'https://IP:端口号',
}

注意:当抓取的地址为http时,则会选择proxies中的http,反之选择https

6、proxies参数具体示例

使用免费代理IP访问测试网站(http://httpbin.org/get)并确认IP。

import requests
from fake_useragent import UserAgent

url = "http://httpbin.org/get"  # 测试网站url地址
headers = {'User-Agent': UserAgent().random}  # 请求头
proxies = {
    'http': 'http://222.74.73.202:42055',
    'https': 'https://222.74.73.202:42055'
} 
html = requests.get(url=url, headers=headers, proxies=proxies).text  # 获取响应内容
print(html)

在这里插入图片描述
可以看到IP为:222.74.73.202

7、私密代理和独享代理

7.1、私密代理

私密代理IP:自营服务器IP;每天可用IP数量>50000个;稳定性较好;访问网页的速度较快;适合代理IP数量要求很大,对代理品质要求高的客户。

7.2、独享代理

独享代理IP:自建服务器IP;每天可用IP数量>100个,按数量购买;稳定性很好;访问网页的速度很快;适合代理IP数量需求不大,但对稳定性要求极高的客户。

7.3、私密代理和独享代理特点

特点:私密代理和独享代理 使用需要用户名和密码的认证,用户名和密码在对应代理IP网站上查找

7.4、私密代理和独享代理语法格式
proxies={'协议':'协议://用户名:密码@IP:端口号'}
7.5、私密代理和独享代理用法示例
proxies={
    ‘http’:'http://用户名:密码@IP:端口号'',
    ‘https’:'https://用户名:密码@IP:端口号'',
}

更多推荐