如何在 Python 中使用代理与请求模块

指南, 如何, 代理, Mar-16-20225 分钟阅读

每台计算机都有一个唯一的互联网协议(IP)地址,在连接到互联网时可识别计算机及其地理位置。每当计算机需要互联网上的任何信息时,都会发出一个请求。请求被发送到目标计算机,目标计算机会检查请求的信息类型。目标计算机

每台计算机都有一个唯一的互联网协议(IP)地址,在连接到互联网时可识别计算机及其地理位置。每当计算机需要互联网上的任何信息时,都会发出一个请求。请求会发送到目标计算机,目标计算机会检查请求的信息类型。如果允许向我们的 IP 地址提供信息,目标计算机就会将信息发送回来。有时,计算机希望在不被识别的情况下从互联网获取信息。这种信息通常会被阻止,但我们可以使用代理来获取,代理在客户端和服务器机器之间充当中间人。

每个代理服务器都有自己的 IP 地址,因此当用户通过代理服务器请求访问某个网站时,网站会将数据发送到代理服务器 IP,由代理服务器转发给用户。

  • 代理可以隐藏网络清除者的身份,使其流量看起来像普通用户的流量。
  • 代理为网站提供额外的安全性,并平衡互联网流量。
  • 代理可以保护网络用户的数据,或帮助访问被国家审查机制封锁的网站。

在 Python 中使用代理与请求模块

要在 Python请求中使用代理,需要遵循以下步骤。

进口申请

导入请求包,这是一个简单的 HTTP 库。通过该程序包,你可以轻松发送请求,而无需在 URL 中手动添加查询字符串。你可以使用下面的命令导入请求。

进口请求

创建词典

您需要创建一个代理字典,定义 HTTP 和 HTTPS 连接。你可以给字典变量取任何名字,如 "代理",将协议映射到代理 URL。此外,你还必须将 URL 变量设置为你要从哪个网站进行搜刮。

proxies = {
  "http":'http://203.190.46.62:8080',
  "https":'https://111.68.26.237:8080'
}
url = 'https://httpbin.org/ip'

在这里,字典为 HTTP 和 HTTPS 这两个不同的协议定义了代理的 URL。

创建响应变量

您必须创建一个使用任何请求方法的响应变量。该方法需要两个参数:

  • 您创建的 URL
  • 您定义的字典
response = requests.get(url,proxies = 代理)
print(response.json())

输出结果如下

您也可以使用 Python 中的请求模块来旋转 IP 地址,如下所示。

您必须使用以下命令导入请求模块。

进口请求

创建 sending_request 函数

您必须创建一个 sending_request 函数,并且最好使用 http 代理,因为大多数免费代理都不使用 https 协议。我们使用 try-except block,因为大多数免费代理都不起作用。

def sending_request(session, proxy):
    try:
        response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
        print(response.json())
    except:
        pass

读取代理_txt

您必须读取包含免费代理列表的 list_proxies.txt 文件,并将其保存到名为代理的变量中。

if__name__ =="__main__"with open('list_proxies.txt','r')as file:
        proxies =file.readlines()

创建会话

您必须从请求模块创建一个会话,并按照以下步骤操作。

  • 通过代理循环
  • 将代理和会话传递给 sending_request 函数
requests.Session()作为session:
   forproxyinproxy:
        sending_request(session, proxy)

您将得到如下所示的代理列表。

这些是一些代理服务器,还有更多的代理服务器,但所有这些代理服务器都不起作用。

需要代理

每个企业都需要了解使用代理的五个重要企业原因,具体如下。

匿名执行敏感任务

代理因其匿名网络流量的能力而闻名。但大多数人并不了解代理服务器在商业领域的重要性。代理服务器允许安全人员和记者保护自己、公司、消息来源、客户和合作伙伴。

您还可以使用代理来保护开发和当前研究以及公司的其他活动。假设贵公司使用代理和潜在间谍来跟踪网络流量,以确定贵公司的业务发展情况。在这种情况下,它就无法轻易追踪到你的员工。

改善企业和机构安全

要知道,数据泄露无论在公众形象还是金钱损失方面都代价高昂。因此,公司对黑客忧心忡忡。但代理服务器可以帮你减少数据泄露的机会。代理服务器在服务器和外部流量之间增加了一层安全保护。代理服务器还能起到缓冲作用,因为它们面向互联网,转发来自网络外计算机的请求。

如果黑客可以访问您的代理服务器,他们仍然很难到达运行存储数据的网络软件的服务器。

控制员工的互联网使用

要知道,数据泄露无论在公众形象还是金钱损失方面都代价高昂。因此,公司对黑客忧心忡忡。但代理服务器可以帮你减少数据泄露的机会。代理服务器在服务器和外部流量之间增加了一层安全保护。代理服务器还能起到缓冲作用,因为它们面向互联网,转发来自网络外计算机的请求。

如果黑客可以访问您的代理服务器,他们仍然很难到达运行存储数据的网络软件的服务器。

节省带宽,提高速度

有些人认为代理服务器会降低网速,因为它们在后台完成了大量工作。但事实并非总是如此。代理服务器可以通过以下方式节省带宽、提高网速:

  • 缓存多个用户访问的网页和文件
  • 压缩流量
  • 去除网站上的广告

使用哪些代理?

您可能会认为只有一种代理可以为企业提供所有好处,例如:

  • 防止数据泄露
  • 制定有竞争力的价格
  • 在社交媒体上收集有价值的数据
  • 制定有效的搜索引擎优化战略

实际上,有多种类型的代理可供选择,使用哪种代理取决于您的要求或使用情况。

以下是最常见的代理类型。

数据中心代理

数据中心代理是全球企业最常用的代理。数据中心负责生产和管理这些代理服务器。如果您需要提高系统的安全性,可以使用这些代理,因为它们既便宜又容易获得。但有些网站禁止使用这些代理,因为它们将这些代理与类似僵尸的活动联系在一起。

住宅代理

住宅代理与实际住宅相关联,使用互联网服务提供商(ISP)提供的真实用户 IP 地址。当你使用它们连接到网站时,你看起来就像一个普通用户。因此,您被发现和禁止的可能性较小。您可以使用住宅代理服务器抓取大量网络数据,并提高匿名性和安全性。

结论

到目前为止,我们已经讨论过 代理在客户端和服务器机器之间的中继作用。每当您请求信息时,您的计算机会将请求发送给代理,然后代理会使用不同的 IP 地址将信息发送给目标计算机。因此,您的 IP 地址是保密的。此外,您还可以使用 Python 中的请求模块来使用代理,并根据需要执行各种操作。如果您需要一个具有数据中心 代理的速度和住宅代理的高匿名性的静态 IP,那么静态代理是您的最佳选择,因为每次新请求的 IP 地址都不会改变。相反,旋转代理可为测试和搜索提供优势。