在本文中,将会研究如何在代理服务器后面使用Python Requests库。开发人员使用代理ip来实现匿名性和安全性,有时甚至会使用多个代理ip来防止网站禁止其IP地址。代理ip还具有其它一些好处,例如绕过过滤器和审查。

如何在Python请求中使用代理
要在Python中使用代理,首先导入requests包。
接下来创建一个proxies定义HTTP和HTTPS连接的字典。这个变量应该是一个将协议映射到代理URL的字典。此外,url为您要从中抓取的网页设置一个变量。
最后,创建一个response使用任何请求方法的变量。该方法将接受两个参数:您创建的 URL 变量和定义的字典。
您可以对不同的 api 调用使用相同的语法,但无论您进行何种调用,您都需要指定协议。
代理会话
您可能还会发现自己想从使用会话的网站上进行抓取,在这种情况下,您必须创建一个会话对象。您可以通过首先创建一个session变量并将其设置为 requestsSession()方法来做到这一点。然后与之前类似,您将通过 requests 方法发送会话代理,但这次只传递url作为参数。
环境变量
您可能会发现自己为每个请求重用了相同的代理,因此请随意设置一些环境变量来干燥您的代码。
如果您决定设置环境变量,则不再需要在代码中设置代理。只要您提出请求,就会进行 api 调用!
使用请求轮换代理ip
每当您发现自己反复从网页抓取时,最好使用多个代理ip,因为您的抓取工具很有可能会被阻止,这意味着您的IP地址将被禁止。因此,为避免被取消,最好使用轮换代理ip。轮换代理ip是一个代理服务器,它为每个连接从代理池中分配一个新的IP地址。
要轮换IP地址,您首先需要有一个可用的IP池。您可以使用互联网上的免费代理或商业解决方案。在大多数情况下,如果您的服务依赖于抓取的数据,那么免费代理很可能是不够的。付费代理ip可能在有效率上更高。Hubstudio里的代理ip厂商就很不错,可以试试。
尽管您可能很想立即开始使用您喜欢的新代理进行抓取,但您仍然应该了解一些关键事项。首先,并非所有代理都是相同的。实际上有不同的类型,主要有三种:透明代理、匿名代理和高匿代理。
在大多数情况下,您将使用高匿代理,出于隐私的目的,高匿代理可能值得您花时间。除非有特殊原因,否则不建议使用透明代理,因为透明代理会显示您的真实IP地址并且会暴露您正在使用的代理服务器。
现在我们已经把这些都搞清楚了,是时候开始使用Python中的代理ip进行抓取数据了。