美丽的汤Youtube订阅者

时间:2018-03-13 19:53:09

标签: python web-scraping beautifulsoup

我使用Python with Requests and 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)

我知道所有内容都已正确安装,因为它正在处理来自不同网站的信息,但是当我运行它时,它只是说"无"。 任何帮助将非常感激。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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