我正在尝试使用scrapy抓取购物网站的价格。请考虑以下代码,从scrapy shell为网站执行:
response.xpath('//*[@id="content"]/div[2]/div/div/div[5]/div[1]').extract()
结果如下:
[u'<div class="subcategory-title"><span class="placeholder"></span></div>']
但是在页面源代码上(使用chrome开发人员工具看到),我可以看到这一行:
<div class="subcategory-title">Organic Vegetables</div>
首先,&#34;有机蔬菜&#34;跨度隐藏?其次,如何获取文本而不是空的span元素?
感谢。
答案 0 :(得分:0)
您可能会看到跨度,因为文本节点是使用JavaScript动态生成的。
与Scrapy配合使用的图书库(如Splash)可以帮助您抓取所需的页面。
有关此内容的详细信息,请访问此链接: scrapy-splash usage for rendering javascript