我正在使用Python with 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)
我知道一切都安装正确,因为它正在处理来自不同站点的信息,但是当我运行它时它只是说“无”。任何帮助将非常感激。
如果我不得不猜测,YouTube会检测到您是机器人。这可以通过多种方式完成,但一种简单的方法是查看您发送的标头是否来自浏览器。如果没有,这是一个简单的方法来摆脱大量的刮胶机。也许看一下API? Youtube或第三方可以提供一个。
如果你真的需要自己自动化,我建议使用Watir。它是一个模拟浏览器内部点击的Ruby库。
Youtube不允许您解析数据。你需要在你的电脑中保存youtube页面,然后解析它。