我正在尝试删除这段代码,但我意识到我想要提取的区域只出现在带有“Inspect element”的Chrome上。查看源代码,这件作品就会消失。
我如何获得这些数据?我用scrapy shell测试了没什么......
此处(检查元素)标签出现:
<div id="Brinde"></div>
<script>MostraParcelaPagSeguro(158.0,0, 1886481);</script>
<span class="ParcelaPagSeg">em <b>12x</b> de <b>R$ 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 :(得分:0)
Scrapy本身并不解析javascript或AJAX请求。您将不得不对该脚本获得的数据执行另一个Web请求。基本上你也必须模拟javascript。见Can scrapy be used to scrape dynamic content from websites that are using AJAX?
更简单的选择是使用基于浏览器引擎(即Webkit)的机器人,例如Ghost,它将像您的Web浏览器一样加载页面。因此,所有来自Javascript的DOM更改都会发生,然后您可以提取所需内容。