如何从Xpath中的javascript事件处理程序获取链接?

时间:2018-08-19 06:08:07

标签: javascript python xpath web-scraping scrapy

HTML代码段如下所示。我想要一些response.xpath(......)以获取分页的链接。我尝试过

 response.xpath('//*[@class="ui2-pagination-pages"]/a/@href').extract()   

但是它没有任何作用。我在这里做错了什么?谢谢。

<div class="ui2-pagination-pages">
         <a href="javascript:void(0)" class="prev" data-role="prev">Prev</a>
        <a rel="nofollow" href="//www.alibaba.com/showroom/acrylic-wine-box_1.html">1</a>
         <a rel="nofollow" href="//www.alibaba.com/showroom/acrylic-wine-box_2.html">2</a>
        <a rel="nofollow" href="//www.alibaba.com/showroom/acrylic-wine-box_3.html">3</a>
        <span class="current">4</span>
         <a rel="nofollow" href="//www.alibaba.com/showroom/acrylic-wine-box_5.html">5</a>
         <a rel="nofollow" href="//www.alibaba.com/showroom/acrylic-wine-<span class="interim">...</span>
        <a rel="nofollow" href="//www.alibaba.com/showroom/acrylic-wine-box_103.html">103</a>
        <a href="javascript:void(0)" class="next" data-role="next">Next</a>
        </div>

我想取消所有分页的链接,并想遍历它。我该怎么办?

1 个答案:

答案 0 :(得分:1)

之所以出现此问题,是因为您要抓取的网站使用Javascript来呈现其内容,并且基本上蜘蛛无法执行javascript代码,因为它们没有能够真正对其进行解释的引擎,因此ScrapingHub团队创建了该引擎名为 scrapy splash 的插件。

您可以从其官方github页面上进行检查:Github