首页 > 解决方案 > Python Web-scraping youtube.com BeautifulSoup4 问题

问题描述

我正在尝试通过使用 BeautifulSoup4 进行网络抓取来获取 YouTube 主页上每个视频的作者。

这是我试图导航到的 HTML 块。

<a class="yt-simple-endpoint style-scope yt-formatted-string" spellcheck="false" href="/c/ApertureScience" dir="auto">Aperture</a>

通过链接:https://www.youtube.com/

我正在尝试获得“Aperture”项目。

问题是我似乎无法正确导航到数据,我一直在尝试这个:

source = urllib.request.urlopen('https://www.youtube.com/').read()
soup = bs.BeautifulSoup(source,'lxml')
for i in soup.find_all('a', class_='yt-simple-endpoint style-scope yt-formatted-string'):
    print(i)

没有打印出来,我认为这是因为类名中有奇怪的空格,但我不知道如何解决这个问题。

如果有任何想法有帮助,谢谢!

标签: pythonhtmlpython-3.xweb-scrapingpython-requests

解决方案


试试语法:

find_all('a',{'class' : 'yt-simple-endpoint style-scope yt-formatted-string'})

对于“光圈”,请使用字符串或内容或文本。

如果内容是动态的,您可以使用 Selenium。


推荐阅读