[英]scrapy does not return text
我是零碎学习的新手。 想要抓取网页。 在开始完成项目之前,先探索命令行。 从网页抓取中,我可以使用以下命令提取H3标签下的链接
sel.xpath("//h3//@href").extract()
这将提取所有URL。 但是后来才意识到网站上的链接是分页的。 通过手动浏览页面,我能够知道页面总数。 但是我想从第一页中提取内容,因为它的底部信息是
Page 1 of 100
在div标签下
<div class="pagination-meta">
Page 1 of 100
</div>
我尝试使用以下命令提取详细信息。 但是它只返回了[]。 如果我错了请指正我
sel.xpath('//div[@class="pagination_meta"]/text()').extract();
我尝试以下内容,因为分页元的div在其他两个div之下
<div class="search-pagination-top bb box-sizing-content">
<div class="grid_3 column alpha tmargin">
<div class="pagination-meta">
Page 1 of 100
</div>
</div>
</div>
sel.xpath('//div[@class="search-pagination-top bb box-sizing-content"]//div/text()').extract();
[u'Page 1 of 100']
这是正确的方法吗? 为什么我的第一个命令没有给出确切的内容?
如果您使用,它将起作用:
sel.xpath('//div[@class="pagination-meta"]/text()').extract();
由于您要匹配确切的字符串,所以下划线和破折号肯定会有所不同。
有很多方法可以达到相同的结果。 第二种方法也是正确的。 很多时候,有必要在一个或多个位置步骤中获取上下文 ,以便使用相对的XPath表达式导航到最终选择步骤。 当您的页面可能会更改或结构可能会更改时,就会发生这种情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.