スクレイピー セレクターを使用して Web からデータ テーブルをスクレイピングしようとしていますが、空の配列を取得しました。面白いことに、ファイルを保存してスクレイプしようとすると、予想される配列 (null 以外) が得られました。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
Web に接続するためのシェル コマンド
$ scrapy shell <url>
セレクターを実行すると、空の配列 ([]) が返されます。HTML 出力をファイル (例: C:\src.html) に保存し、セレクターを使用すると、期待どおりの応答が得られました。
どうも!