深色proxyscrape 徽标

使用 Python 请求代理 - 5 个简单步骤

指南, Dec-03-20225 分钟阅读
python 请求代理是将代理与每个 python 请求集成在一起的过程,这样用户就可以在网络中保持匿名。从服务器请求数据的客户端设备将使用python脚本或配置 python 请求代理发送请求。
数据生成量与日俱增。从普通网络用户到专业营销人员和网络搜刮人员,每个人都会获取数据来分析和制定战略。互联网是一个数据泛滥的媒介,这为用户从网站收集信息提供了便利。程序开发人员会从他们的代码中向网页发送请求,并将从URL收集到的数据作为他们编程需求的输入。如果用户无法从被屏蔽的网站收集数据怎么办?本文将讨论代理与 python 请求的用法,以及它如何帮助网络刮擦程序。

欢迎跳转到任何章节,了解有关使用 python 请求代理的更多信息!

目录

什么是代理?

代理是客户端与服务器通信的中间设备。这些代理代表通信中的节点工作,并向网络中的其他节点隐藏自己的身份。代理具有特殊功能,可确保速度、匿名性和零限制的不间断数据搜刮服务。有了代理服务器,从多个来源收集信息就变得非常容易。

什么是 Python 请求?

python 请求是一个HTTP库,允许用户向 URL 发送 HTTP 请求。这些请求库不是 python 的内置模块。如果需要,用户可以从请求库中导入请求。HTTP 请求库有许多方法,如 POST、PUT、HEAD、GET、POST 和 PATCH。

为什么在 Python 请求中使用代理?

如今,人们更喜欢使用代理服务器来隐藏自己的身份。代理可以隐藏我们的 IP 地址,并以任何类型和位置的代理地址出现在网络中。这样,用户甚至可以从受限制或地理封锁的网站上获取信息。加拿大人可以使用英国的代理地址访问被屏蔽的网站,避免 IP 被封。为了利用代理服务器的功能,网络开发人员将代理服务器与 python 请求库结合使用,这样 URL 就不会知道用户的真实身份。

安装 Python 和请求库

要将代理与 python 请求库整合,就必须具备使用 Python 的能力。

  • Python 编程基础知识。
  • 具有使用 Python 3 的经验。
  • 系统中预装了 Python IDLE
  • 从命令提示符导入请求库。 
人们应该确保自己具备这些先决条件。前两项是编写 python 脚本所需的技能,后两项是运行 python 程序的基本要求。如果系统没有 python 编辑器,请下载与系统配置兼容的 python 版本。查看在系统中 下载和配置 Python的说明。这需要 2GB 至 4GB 内存。完成基本的 python 安装后,用户还应确保导入了必要的库。在使用 python-requests 时,我们没有内置的请求库。因此,用户必须首先安装请求库。
  • 打开 "命令提示符"。
  • 输入 "pip freeze"。
  • 该冻结选项将显示所有已安装的 python 库。
  • 检查列表中是否有 "请求模块" 如果没有,请安装 "请求库"。

pip install requests

  • 该语句将安装 "请求库"。

在 Python 请求中使用代理

使用 Python 请求添加代理只需 5 个简单步骤。这些步骤包括安装必要的软件包、添加代理地址和通过 Python 模块的请求方法发送请求等要点。

使用 Python 请求的代理

我们将通过分步指南详细讨论这 5 个步骤。下面将讨论使用 Python 请求添加代理、可用参数及其功能。

使用 python 请求的首要必要条件是导入请求模块。 

 进口请求

请求模块负责使用 python 编码发送 HTTP 请求。现在,要在这些 python-requests 中加入代理,用户必须定义一个名为 "代理 "的字典。该字典包含作为名称的 "HTTP 协议 "和作为名称值的 "代理 URL"。该代理字典有助于建立 HTTP 连接。 

proxies = {'https': /,  'http://webproxy.to/ ''}

下一步是创建一个名为 "URL "的变量,用于定义刮擦过程的源网站。

下一步是定义一个 "响应 "变量,通过传递 "URL "和代理变量来处理请求。 

response = requests.get(url)

用户还可以打印 "状态代码",查看请求是否成功。

print(f’Status Code: {response.status_code}') 
编码样本
import requests
proxies = {'https': 'https://proxyscrape.com/', 'http': 'https:/webproxy.to/'}
url = 'http://Yellowpages.com'
response = requests.get(url)
print(f'Status Code: {response.status_code}')

代理验证

用户可以通过添加 "用户名 "和 "密码 "参数来进行代理验证。 

response = requests.get(url, auth=('user', 'pass'))
编码样本
import requests
proxies = {'https': 'https://proxyscrape.com/', 'http': 'https:/webproxy.to/'}
url = 'http://Yellowpages.com'
response = requests.get(url, auth=('user','pass'))

HTTP 会话

该会话对象与 cookie 类似。它会保存多个请求的特定用户数据。用户可以通过调用请求库的会话函数来包含会话对象。

requests.session()
编码样本
import requests
session = requests.Session()
session.proxies = {'https': 'https://proxyscrape.com/', 'http': 'https:/webproxy.to/'}
url = 'http://Yellowpages.com'
response = requests.get(url)
print(f’Status Code: {response.status_code}') 

代理请求超时

HTTP 请求的 "超时 "参数允许用户指定处理请求的最长时限。这个时间告诉服务器应该等待多长时间才能得到响应。用户可以将此参数传递给 HTTP 请求函数。

response = requests.get('url', timeout=5))

如果远程服务器速度较慢,系统需要长时间等待,用户也可以将超时值指定为 "无"。

response = requests.get('url', timeout=none))
样品代码:
import requests
proxies = {'https': 'https://proxyscrape.com/', 'http': 'https:/webproxy.to/'}
url = 'http://Yellowpages.com'
response = requests.get(url, timeout=5)
print(f’Status Code: {response.status_code}') 

环境变数

人们可能会多次使用同一个代理。与其反复键入代理 URL,他们还可以选择环境变量。有了这个选项,人们就可以将代理 URL 分配给一个环境变量,并在需要时使用该变量。 

export HTTP_PROXY='http://webproxy.t'

请求模块中的功能

python 语言的请求库能够处理多个与请求和响应相关的函数,如 get、post、put、delete、patch 和 head。以下是常用函数的语法。 
  • response = requests.get(url)
  • response = requests.post(url, proxy = 代理)
  • response = requests.head(url)
  • response = requests.options(url)
  • response = requests.put(url,data={“a”:1,args}
  • response = requests.delete(url)
  • response = requests.patch(url,data={“a”:1,args}

使用 Python 请求库发布 JSON

在 python-requests 中也可以向服务器发送 JSON。在这种情况下,使用 python 请求方法的代理将 URL 作为第一个参数,将 JSON 作为第二个参数。它将字典转换为 python 字符串。

样品代码:
import requests
proxies = {'https': 'https://proxyscrape.com/', 'http': 'https:/webproxy.to/'}
url = 'http://Yellowpages.com'
response = requests.post(url, json={
"ID": 123,
"Name": "John"))
})
print(f’Status Code: {response.status_code}, Response: {r.json()}") 

如何使用 Python 请求旋转代理

人们还可以轮流使用代理服务器来提高匿名性。长期对所有网站使用同一个代理服务器会帮助互联网服务提供商追踪并封禁您的代理服务器地址。人们更喜欢使用一个以上的代理服务器轮换模式来应对这些 IP 封禁。他们有一个代理服务器池,系统会轮流从代理服务器池中分配一个新的代理服务器。 

使用 python 请求旋转代理的第一步是导入必要的库,如 requests、Beautiful soap 和 choice。 

要使用 python-requests 旋转代理,我们必须对它们或其 URL 进行配置,以便使用它们。Proxyscrape 提供各类付费和免费代理。人们可以使用各种类型和地点的住宅代理、数据中心代理和私人代理。 

ipaddresses = ["proxyscrape.com:2000", "proxyscrape.com:2010 ", "proxyscrape.com:2100 ", "proxyscrape.com 2500"].

然后,用户必须创建一个 "代理请求 "方法,该方法有三个参数,如请求类型、URL 和 **参数。

def proxy_request(get_proxy,http://webproxy.to/,**kwargs):

在此 "代理请求 "方法中,返回代理字典作为对代理请求方法的响应。这里,kwargs 是传递值的参数。 

该方法可从特定 URL 提取代理地址,将提取的响应转换为美丽的 Soap 对象,从而简化代理提取过程。 

random.radint(0,len(ipaddresses)-1)

然后创建一个 "proxy "变量,使用 "soap "库从 "soap "对象代理列表中随机生成一个代理地址。

proxy = random.radint(0,len(ipaddresses)-1)

proxies = {“http” : ipaddresses(proxy), “https” : ipaddresses(proxy)}

response = requests.get(getproxy, url, proxies = 代理服务器, timeout=5, **kwargs)

print(currentproxy:{proxy[‘https’]}”)

代码示例
import requests
import BeautifulSoap
import choice
ipaddresses = [“ proxyscrape.com:2000”, “proxyscrape.com:2010 ”, “proxyscrape.com:2100 ”, “proxyscrape.com 2500”]
def proxy_request(get_proxy,http://webproxy.to/,**kwargs):
 while True:
  proxy = random.radint(0,len(ipaddresses)-1)
   proxies = {“http” : ipaddresses(proxy), “https” : ipaddresses(proxy)}
   response = requests.get(getproxy, url, proxies = proxies, timeout=5, **kwargs)
   print(currentproxy:{proxy[‘https’]}”)
  break
 return response
推荐阅读

常见问题

1.什么是 python 请求代理?
客户端的 python 请求可以添加代理地址,以隐藏用户的真实身份。这样,请求就会通过代理地址到达服务器。
2.为什么在 Python 请求中使用代理?
使用 python 请求的代理可以帮助你克服 IP 屏蔽和地理屏蔽等限制,而这些都是所有搜刮者通常会面临的问题。
3.什么是代理身份验证?
Proxy users can also include authentication factors to the proxies by adding a username and password. response = requests.get(url, auth=(‘user’, ‘pass’))

结论

本文介绍了 python 编程语言中的 HTTP 请求,以及发送 HTTP 请求所需的必要库、模块和函数。你可以导入请求模块,并根据需要使用 GET、POST、PATCH 和 PUT 方法。如果你想利用代理功能,如匿名、速度和刮擦功能,你可以专注于 python 中的代理。用户还可以使用代理池,通过代理请求轮流分配代理,以增强安全性。