我正在尝试使用 scrapy 选择器从网络上抓取数据表,但得到了一个空数组。有趣的是,当我尝试保存文件并抓取它时,我得到了预期的数组(非空)。有关 Scrapy 版本、选择器命令和预期响应的信息可以在下面找到。
刮版
Scrapy : 0.18.2
lxml : 3.2.3.0
libxml2 : 2.9.0
Twisted : 13.1.0
Python : 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]
Platform: Windows-8-6.2.9200
选择器
hxs.select('//table[contains(@class,"mnytbl")]//tbody//td[contains(@headers,"tbl\x34\x37a")]//span/text()').extract()
预期响应
[u'\n1.26 Bil\n \n', u'\n893.90 Mil\n \n', u'\n924.87 Mil\n
\n', u'\n1.18 Bil\n \n', u'\n1.55 Bil\n \n', u'\n2.91 Bil\n
\n', u'\n3.96 Bil\n \n', u'\n4.01 Bil\n \n', u'\n3.35 Bil\n
\n', u'\n2.36 Bil\n \n']
<url>: http://investing.money.msn.com/investments/financial-statements?symbol=SPF
用于连接网络的 Shell 命令
$ scrapy shell <url>
运行选择器返回一个空数组 ([])。如果我将 html 输出保存到文件中(例如 C:\src.html)并使用选择器,我会得到预期的响应。
谢谢!