美丽的汤Youtube订阅者

问题描述 投票:1回答:2

我正在使用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)

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

python web-scraping beautifulsoup
2个回答
1
投票

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

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


0
投票

Youtube不允许您解析数据。你需要在你的电脑中保存youtube页面,然后解析它。

© www.soinside.com 2019 - 2024. All rights reserved.