【问题标题】:How do I extract data from dynamically populated site?如何从动态填充的站点中提取数据?
【发布时间】:2023-02-09 09:04:50
【问题描述】:

我想使用此站点从 https://www.whois.com/whois/ 中提取域数据,例如获取名为 tinymail.com 的域的信息我想使用 https://www.whois.com/whois/tinymail.com,如果我先在浏览器中打开它,soup 会提供可靠的数据,否则不会收到域数据(我想这就像网站将数据放在缓存中一样)。我不想使用 selenium 方法(因为它会增加所需的时间)我已经尝试在 inspect element 中检查网络选项,但只看到两个更新,没有一个显示任何数据。

【问题讨论】:

  • 不要刮,use an API
  • 根据@AlexHowansky。提供了一个 API。替代方法是使用 requests 库。
  • API 是付费的,所以我想去抓取路径。我会使用 python-whois 库,但端口 43 在防火墙中被阻止(我不允许启用它)。

标签: python php python-3.x web-scraping


【解决方案1】:

您可以使用请求来获取数据:

这将从问题中的网站检索数据。

import requests

url = 'https://www.whois.com/whois/'

r = requests.get(url)

if r.status_code==200:
    # page works
    print(r.text)
else:
    print('no website')

这是更多链接:https://docs.python-requests.org/en/latest/

此外,您可以注册一个 API 密钥以获取特定数据。对于有限的数据请求,这可能是免费的。

【讨论】:

  • 请参阅已编辑的问题。
  • 正如答案底部所说。 API 通常允许特定的有限的免费的数据量。如果你想要工业数据,那么就需要为此付费。无论如何,requests 仍然比 selenium 更有效率。
猜你喜欢
  • 2014-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多