首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Web抓取youtube页面

Web抓取youtube页面
EN

Stack Overflow用户
提问于 2021-10-14 13:25:41
回答 1查看 50关注 0票数 0

我正在尝试获得youtube视频的标题,并给出一个链接。

但是我无法访问包含标题的元素。我正在使用bs4来解析html。我注意到我无法访问youtube页面中'ytd-app‘标签内的任何元素。

代码语言:javascript
运行
复制
import bs4
import requests

listed_url = "https://www.youtube.com/watch?v=9IfT8KXX_9c&list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v&index=31"
listed = requests.get(listed_url)
soup = bs4.BeautifulSoup(listed.text, "html.parser")

a = soup.find_all(attrs={"class": "style-scope ytd-video-primary-info-renderer"})
print(a)

那么我怎么才能得到视频标题呢?是不是我做错了什么,或者youtube故意创建了一个这样的标签来防止web_scraping?

EN

回答 1

Stack Overflow用户

发布于 2021-10-14 13:32:13

您正在使用的类是通过Javascript呈现的,并且所有内容都是动态的,因此使用bs4很难找到任何数据

因此,您可以通过手动在soup中查找数据并查找特定标记

您也可以尝试使用pytube

代码语言:javascript
运行
复制
import bs4
import requests

listed_url = "https://www.youtube.com/watch?v=9IfT8KXX_9c&list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v&index=31"
listed = requests.get(listed_url)
soup = bs4.BeautifulSoup(listed.text, "html.parser")

soup.find("title").get_text()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69571558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档