在带有 selenium 的 python 中,如何轮换 IP 地址?

Posted

技术标签:

【中文标题】在带有 selenium 的 python 中,如何轮换 IP 地址?【英文标题】:In python with selenium, how do you rotate IP addresses? 【发布时间】:2021-07-10 16:37:37 【问题描述】:

我正在尝试从网站(在 Chrome 上)中抓取信息,我需要单击每个子页面以获取所需的信息。大约 7 点后,我被网站屏蔽了。我认为,如果我能够每次或一旦被阻止就切换 IP,那将起作用。

我正在使用 Selenium 打开站点并导航到子页面。到目前为止,我已经尝试使用 try-catch 块和 while 循环,但我遇到了不知道如何解决的错误。

有没有人有替代方法或以前的成功?

【问题讨论】:

将本地地址与主机网站记录的地址进行比较,这将是第一步,看起来您已经这样做了。 :-) @suraj_j 很抱歉,如何查看主机网站记录的地址? 在 Chrome 中使用 Inspect 元素,查找 IP 地址格式,即 xxx:aa:bb:ccc .. 如果您是 Firefox 用户,您也可以检查使用 firebug 的选项 【参考方案1】:

您尝试连接的网站很有可能使用您的 ISP 的 IP 地址,因此欺骗目标网站并不容易。 您仍然可以尝试使用“IPConfig / renew”或“IPConfig / renew6”来更新 IP 地址。

您可以探索并检查是否有任何 netstat 命令可以帮助您,此处提供了 Win 10 命令NetStat Commands for Windows 10。 此外,过去我曾尝试在我的移动连接(teethering)和路由器之间进行交换以实现相同的目的。 此外,路由器重启是(通常)重置您的 ISP 的 IP 地址所需要的。

【讨论】:

重要细节:一旦您发现目标/主机记录了哪个 IP 地址,您就可以制定使用动态 IP 地址的计划。【参考方案2】:

您可以使用轮换代理来根据请求或按时间间隔更改 IP,但如果您不想使用任何代理,则可以重新启动路由器以从 ISP 获取新 IP 地址,但如果您有静态即使重新启动路由器,您的 ISP 提供的 IP 也会保持不变。

【讨论】:

以上是关于在带有 selenium 的 python 中,如何轮换 IP 地址?的主要内容,如果未能解决你的问题,请参考以下文章

在 python 上使用 selenium 或 beautifulsoup 从带有链接的页面中抓取数据,没有类,没有 id

Selenium / Python - 带有空格的类名无法本地元素

Python Selenium选择带有空格的div类

如何为 Firefox 设置 Selenium Python 环境

安装selenium操作步骤(python中使用selenium)

带有 Selenium 的 Python:从文件系统拖放到 webdriver?