生成有效IP地址列表并在Python Selenium Loop中随机使用

时间:2018-11-23 21:52:05

标签: python selenium selenium-webdriver ip-address

免责声明:这是我第一次涉足网络抓取活动

我有一个〜400个搜索结果URL的列表,我正在尝试使用Selenium来收集信息。在某个时候,我将重定向并显示以下文本:

”“由于使用率高于正常水平,您对VINELink.com的访问已被拒绝...您正试图通过以下IP地址访问此网站。请确保您的防火墙设置不限制访问。 [我的IP地址]“

有没有一种方法可以生成有效的随机IP地址列表,在循环中随机选择一个,然后将其馈送到Selenium WebDriver,以避免被阻止?

我了解这个问题有道德考虑(实际上,我已经联系该站点解释了我的良性用例,并询问他们是否可以解除阻止我的真实IP地址);我最感兴趣的是这是否可以做到。

URL的缩写列表:

y

循环的缩写代码(缺少有效IP地址的实际列表):

['http://www.vinelink.com/vinelink/servlet/SubjectSearch?siteID=34003&agency=33&offenderID=2662',
 'http://www.vinelink.com/vinelink/servlet/SubjectSearch?siteID=34003&agency=33&offenderID=A21069',
 'http://www.vinelink.com/vinelink/servlet/SubjectSearch?siteID=34003&agency=33&offenderID=B59293',
 ...]

1 个答案:

答案 0 :(得分:0)

  

有没有一种方法可以生成有效的随机IP地址列表,   在循环中随机选择一个,并将其输入到Selenium中   WebDriver以避免被阻止?

要从序列中获取随机项,请使用random.choice(seq)模块中的random

请参阅:https://docs.python.org/3/library/random.html#random.choice

示例:

import random

proxies = ['10.0.1.1', '10.0.1.2', '10.0.1.3']
proxy = random.choice(proxies)

注意: 您提出的问题没有意义,因为您表示要生成有效 IP地址列表。您不能只生成随机IP并期望它们起作用……您实际上必须向脚本提供有效IP。您将需要提供此功能的服务器基础结构(即绑定到列表中每个地址的工作代理服务器池),因为请求将通过这些服务器进行路由。如果您只是想欺骗IP而没有可供代理使用的服务器池,答案是“不,那将不起作用。”