Scrapy + Splash渲染JavaScript数据

时间:2017-11-20 07:23:20

标签: javascript python-3.x web-scraping scrapy-spider scrapy-splash

我正在尝试使用 scrapy splash 废弃电子商务网站,因为网页上的大多数内容都是动态的,由 JS ,我正在使用splash来获取数据。我可以获取除价格数据以外的所有其他数据。

<div class="grid-row rendered">
    <span data-id="from-price" data-bind="visible: showFromLabel, text: fromLabelText, css: { 'price-from-discounted' : isDiscountedPrice }" class="price-from" style="display: none;">From</span>
    <span data-id="current-price" data-bind="text: priceText(), css: {'product-price-discounted' : isDiscountedPrice }" class="current-price">$31.58</span>
    <span data-id="rrp-price" data-bind="text: rrpPriceText, visible: showRrpPrice" class="product-prev-price" style="display: none;"></span>
    <span data-id="previous-price" data-bind="text: prevPriceText, visible: showPrevPrice" class="product-prev-price" style="display: none;"></span>
    <span data-id="german-vat-message" data-bind="text: germanVatMessage, visible: showGermanVatMessage" class="product-german-vat" style="display: none;"></span>
</div>

我想获取第二个跨度数据,但是当我div.grid-row时,呈现的print(response.body)不会呈现。

我如何获得该价格数据。

以下是page

的链接

1 个答案:

答案 0 :(得分:0)

最后解决了这个问题,我在scrapy shell中运行了一个带有splash的网页,然后当我view(response)时,结果显示价格部分没有加载,然后我用Google搜索并找到了这个{{3 }}, 基本上,我只需按照链接中的答案显示私有模式下的启动。