【问题标题】:Beautiful Soup Youtube subscribersBeautiful Soup Youtube 订阅者
【发布时间】:2018-08-22 05:14:27
【问题描述】:

我将 Python 与 Requests 和 Beautiful Soup 一起使用,尝试使用以下代码返回某些 Youtube 频道的订阅者数量:

import requests
from bs4 import BeautifulSoup

request = 
requests.get("https://www.youtube.com/channel/UCFIjVWFZ__KhtTXHDJ7vgng")
content = request.content
soup = BeautifulSoup(content, "html.parser")
element = soup.find("yt-formatted-string", {"id": "subscriber-count", 
"class": "style-scope ytd-c4-tabbed-header-renderer"})
print(element)

我知道一切都已正确安装,因为它正在处理来自不同站点的信息,但是当我运行它时,它只会显示“无”。 任何帮助将非常感激。

【问题讨论】:

标签: python web-scraping beautifulsoup


【解决方案1】:

如果我不得不猜测,YouTube 会检测到您是机器人。这可以通过多种方式完成,但一种简单的方法是查看您发送的标头是否来自浏览器。如果没有,这是他们摆脱大量抓取机器人的简单方法。也许看看API? Youtube 或第三方可能会提供一个。

如果您真的需要自己实现自动化,我建议您使用 Watir。它是一个模拟浏览器内点击的 Ruby 库。

【讨论】:

  • 这就是我的想法,我已经被有 API 的网站烧毁了很多次,我只是不知道它们存在 :D
【解决方案2】:

Youtube 不允许您解析数据。您需要将 youtube 页面保存在您的 PC 中,然后对其进行解析。

【讨论】:

  • 请详细说明您的答案,为什么不可能并解释您的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-25
  • 1970-01-01
  • 2015-03-27
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多