2014-08-28 23 views
0

我試圖刮這段代碼,但我意識到,我想提取的區域只出現在Chrome瀏覽器「檢查元素」。查看源代碼,這部分消失。Scrapy - 爲什麼我無法提取這些數據?

我該如何獲得這些數據?我scrapy外殼並沒有什麼測試?

這裏(檢查元素)出現在標籤:

<div id="Brinde"></div> 
<script>MostraParcelaPagSeguro(158.0,0, 1886481);</script> 
<span class="ParcelaPagSeg">em&nbsp;<b>12x</b> de <b>R$&nbsp;14,93</b></span> 
</div> 

這裏(源代碼)標籤消失:

<div id="Brinde"></div> 
<script>MostraPreco(158.0,158.0,'PM3602001_30',0);</script><br> 
<script>MostraParcelaPagSeguro(158.0,0, 1886481);</script> 
</div> 

我知道這是可能是因爲腳本MostraParcelaPagSeguro()。但是我怎麼能提取這個?

+0

我忘了通知頁面。請,你能給我一個腳本的例子嗎? http://www.perfumes.com.br/prod,IDLoja,154,IDProduto,1886468 – Ailton 2014-08-28 02:01:12

回答

0

Scrapy本身不解析javascript或AJAX請求。您必須對腳本獲得的數據做另一個Web請求。基本上你也必須模擬javascript。請參閱Can scrapy be used to scrape dynamic content from websites that are using AJAX?

更簡單的選項是使用基於瀏覽器引擎(即Webkit)的機器人,如Ghost,它將像網頁瀏覽器一樣加載頁面。因此,所有來自Javascript的DOM更改都會發生,然後您可以提取所需內容。

+0

https://github.com/niklasb/dryscrape看起來不錯。 – veroxii 2014-08-28 01:02:49

相關問題