如何用httr包的GET请求获取YouTube视频标题?
提取YouTube视频标题的方法
你用httr::GET()获取的是HTML文档,直接查看content(x)只能看到大致结构,要精准提取标题可以配合rvest包(专门解析HTML的工具),步骤如下:
1. 安装并加载所需包
如果还没安装rvest,先运行:
install.packages("rvest")
然后加载两个包:
library(httr) library(rvest)
2. 获取页面并提取标题
方法一:从<title>标签提取
页面的<title>内容格式是「视频标题 - YouTube」,提取后可以去掉末尾的固定后缀:
# 获取页面内容 x <- GET("https://www.youtube.com/watch?v=2lAe1cqCOXo") # 解析HTML结构 page <- content(x) # 提取<title>标签的文本内容 raw_title <- page %>% html_element("title") %>% html_text() # 清理掉末尾的" - YouTube" clean_title <- gsub(" - YouTube$", "", raw_title) # 输出结果 print(clean_title)
方法二:从<meta name="title">标签提取
直接提取meta标签的content属性,得到的就是纯视频标题:
title_from_meta <- page %>% html_element('meta[name="title"]') %>% html_attr("content") # 输出结果 print(title_from_meta)
批量获取的注意事项
如果要批量处理多个视频链接,记得每次请求后加一点延迟(比如Sys.sleep(2)),避免频繁请求被YouTube限制访问。
内容的提问来源于stack exchange,提问作者Beatriz Leal
相关产品推荐
相关产品推荐

