【问题标题】:Requests-html package does not render properly for fast.com对于 fast.com,Requests-html 包无法正确呈现
【发布时间】:2019-02-02 22:14:39
【问题描述】:

我正在使用 python 3.7 开发一个网络抓取应用程序。我正在使用 requests-html 来解析数据。到目前为止,我已经尝试了以下代码来尝试使用渲染功能(因为 fast.com 上的速度数据是通过 javascript 加载的)。

from requests_html import HTMLSession
quote_page = 'https://fast.com'
session = HTMLSession()
r = session.get(quote_page)
r.html.render()
extract_value = r.html.find('#speed-value', first=True)
print(extract_value.text)

speed-value是包含速度数据的div使用的id属性。

但它仍然将速度值打印为 0。

【问题讨论】:

  • 为什么要把事情搞得这么复杂,在 python 本身中检查互联网速度。

标签: python-3.x python-requests-html


【解决方案1】:

速度测试需要几秒钟,初始渲染后需要等待几秒钟,所以指定一个睡眠参数来渲染函数,这意味着初始渲染后要休眠多少时间。

例如:修改r.html.render()r.html.render(sleep=10)

在我的电脑上测试,我得到了一个速度数。

【讨论】:

  • OP 应该接受这个作为答案,因为它解决了我的问题。具体来说,我需要引起延迟,以便在被抓取的页面上发出的任何请求都可以完成。 requests_html 的文档应该更清楚地说明这一点,因为这将成为许多网站的问题。
猜你喜欢
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 2021-12-11
  • 1970-01-01
  • 2012-08-23
  • 1970-01-01
相关资源
最近更新 更多