python - 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)
没有打印出来,我认为这是因为类名中有奇怪的空格,但我不知道如何解决这个问题。
如果有任何想法有帮助,谢谢!
解决方案
试试语法:
find_all('a',{'class' : 'yt-simple-endpoint style-scope yt-formatted-string'})
对于“光圈”,请使用字符串或内容或文本。
如果内容是动态的,您可以使用 Selenium。
推荐阅读
- aws-lambda - 无服务器框架始终需要阶段参数
- javascript - 想在游戏开始前选择角色
- javascript - React 计算器 - 等号逻辑
- java - Jersey 中的会话变量 (Java/JBoss)
- codeigniter - 有没有办法在codeigniter中通过电子邮件发送pdf而不使用jsPDF的phycial pdf文件
- angular - 在 Angular 中从表中搜索值
- windows - Windows CMD - 将输出保存到文件而不隐藏在控制台中
- ios - 如何在应用增加边界宽度的自定义渲染时保留 ArcGIS 地图中填充的颜色
- javascript - NSIS - js文件解压需要很长时间
- sql - 请求 sql COUNT 不归零