2016-04-22 53 views
0

我正在使用scrapy来抓取YouTube视频,并且需要视频的标题/描述语言。当我在this video上使用浏览器视图源时,我可以在脚本标记内有一个变量'METADATA_LANGUAGE': 'no'。我可以在scrapy和它的扩展中提取这个值,或者我应该下载并使用像beautifulsoup/htmlparser这样的库解析html。我如何提取scrapy中的javascript值

+0

如果您希望JavaScript生成的内容看Selenium。它使用浏览器获取最终呈现的html,并将其返回scrapy进行刮取。 – Steve

回答

0

根据this,您可以选择带有xpath/css的脚本文本,然后使用正则表达式搜索变量名称。假设第一个脚本包含METADATA_LANGUAGE

items = response.xpath('//script/text()')[0].re(".*METADATA_LANGUAGE.*") 
1

是的,这是可能的使用Scrapy。你可以看看this question

有很多方法可以实现你要找的东西。一种方法是使用scrapy的选择器获取<script>标签,然后使用regex获取您要查找的特定METADATA_LANGUAGE变量。