我从一系列网站(如reddit.com)中提取用户评论,Youtube也是我的另一个多汁信息来源。我现有的刮刀用R:
写成# x is the url
html = getURL(x)
doc = htmlParse(html, asText=TRUE)
txt = xpathSApply(doc,
//body//text()[not(ancestor::script)][not(ancestor::style)][not(ancestor::noscript)]",xmlValue)
这并不适用于Youtube数据,事实上,如果您查看Youtube视频的来源,例如this,您就会发现评论没有出现在源代码中。
有没有人对如何在这种情况下提取数据有任何建议?
非常感谢!
答案 0 :(得分:0)
您提到youtube评论没有出现在youtube页面的html源代码中。但是,我习惯于在Chrome中构建开发人员工具,并且我能够看到构成评论的html标记。我也尝试加载阻止脚本的页面,评论仍在那里。
假设您的解析器可以看到注释,则以下xpath应该允许您选择注释的内容。
"//body//div[@class='comment-text-content']/text()"
或者,如果要选择注释块内的所有信息,例如用户名,则可以使用此表达式
"//body/div[@class='comments']//div[@class='comment-item']"