小编Xew*_*ewi的帖子

抓取渲染的 javascript 网页

我正在尝试构建一个简短的 Python 程序,用于提取 Pewdiepie 的订阅者数量,该程序在 Socialblade 上每秒更新一次,以在终端中显示。我想要每 30 秒一次的数据。

我尝试过使用 PyQt,但它很慢,我转向 dryscrape,稍微快一点,但也没有按照我想要的方式工作。我刚刚找到 Invader 并编写了一些简短的代码,但仍然存在同样的问题:返回的数字是执行页面上的 Javascript 之前的数字

from invader import Invader

url = 'https://socialblade.com/youtube/user/pewdiepie/realtime'
invader = Invader(url, js=True)

subscribers = invader.take(['#rawCount', 'text'])
print(subscribers.text)
Run Code Online (Sandbox Code Playgroud)

我知道这些数据可以通过网站的 API访问,但它并不总是有效,有时它只是重定向到this

有没有办法在页面上的Javascript修改计数器之后而不是之前获取这个数字?哪种方法对您来说最好?提取它:

  • 从原始页面总是返回相同的数字几个小时?
  • 从 API 页面来看,当代码中不使用 cookie 并经过一定时间后会出现哪些错误?

感谢您的建议!

javascript python web-scraping

5
推荐指数
1
解决办法
6994
查看次数

标签 统计

javascript ×1

python ×1

web-scraping ×1