【发布时间】:2014-08-01 02:30:40
【问题描述】:
我需要使用scrapy来抓取带有javascript标签的内容,如下所示:
<script type='text/javascript' id='script-id'> attribute={"pid":"123","title":"abc","url":"http://example.com","date":"2014-07-31 14:56:39 CDT","channels":["test"],"tags":[],"authors":["james Catcher"]};</script>
我可以使用 xpath 提取内容
response.xpath('id("script-id")//text()').extract()
输出
[u'\nattribute = {"pid":"123","title":"abc","url":"http:/example.com","date":"2014-07-30 15:34:10 ","channels":["test"],"tags":[],"authors":["james Watt"]};\n(function( ){\n var s = document.createElement(\'script\');\n s.async = true;\n s.type = \'text/javascript\';\n s.src = document.location.protocol + \'//d8rk54i4mohrb. cloudfront.net/js/reach.js\';\n (document.getElementsByTagName(\'head\')[0] || document.getElementsByTagName(\'body\')[0]).appendChild(s);\n})();\n'']
如何使用 xpath 获取每个值?
【问题讨论】:
-
@Artjom B. 现在我编辑了问题,如何获取 pid、title 等的值。