【问题标题】:R Change IP Address programmaticallyR以编程方式更改IP地址
【发布时间】:2023-03-27 17:20:01
【问题描述】:

当前通过将不同的字符串传递给 html_session() 方法来更改 user_agent。

还有没有办法在抓取网站时在计时器上更改您的 IP 地址?

【问题讨论】:

  • 这听起来很像规避网站使用条款的方法...
  • 看这里:google-scraper.squabbel.com 这是专门用于 Google 抓取的,但有助于解决您的问题以及将信息用于任何事情。它适用于几乎所有网站,大多数都比 Google 更容易。
  • 您可以为此目的使用 tor 和 privoxy 或直接 tor。注意:-我个人认为规避网站限制没有什么不道德的。显然,您不应该利用该过程对目标网页进行不必要的大量点击。
  • 谢谢你们。您知道使用 R 的 @IndranilGayen 的好指南吗?失败总是可以使用 Python。

标签: r rcurl rvest httr rselenium


【解决方案1】:

您可以通过use_proxy 使用代理(更改您的 ip),如下所示:

html_session("you-url", use_proxy("proxy-ip", port))

更多详情见:?httr::use_proxy

要检查它是否正常工作,您可以执行以下操作:

require(httr)

content(GET("https://ifconfig.co/json"), "parsed")
content(GET("https://ifconfig.co/json", use_proxy("138.201.63.123", 31288)), "parsed")

第一次调用将返回您的 IP。第二次调用应该返回138.201.63.123 作为 ip。

此代理取自 http://proxylist.hidemyass.com/ - 没有任何保证...

【讨论】:

  • 谢谢。可以使用的IP地址或端口号有什么限制吗?
  • @tonyk 这样的限制是什么?
  • @tonyk 它必须是代理服务器的有效 URL。如果您想使用 socks-代理,请使用 use_proxy("socks://127.0.0.1", 9050)
  • 例如,它可能是socks-proxy.net 网站上的任何当前有效条目?
  • 谢谢。发送一个请求让我得到一个机器人检查。你知道如何查看请求中发送的信息吗?
猜你喜欢
  • 2019-07-10
  • 1970-01-01
  • 2012-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
相关资源
最近更新 更多