Scrapy中XPath选择器的基本用法
1、前言
本文是作为爬虫项目实战一:基于Scrapy+MongDB爬取并存储糗事百科用户信息的补充,所以本文的网页选择也是基于糗事百科展开。XPath主要使用在XML文档中选择节点,同时XPath也适用于HTML。网页中,标签元素的关系有:先辈节点、父节点、子节点、同级节点、后辈节点。XPath用法很多,这里不会全部列出来,主要是列出来了,上篇blog中使用过的一些方法进行总结。如果不对之处,还望批评指正。想更详细了解用法,请参考W3CSchool XPath教程和官方文档
注意以下代码截图都是基于糗事百科网址(https://www.qiushibaike.com/hot/page/1/),同时测试代码实在Pycharm中进行,通过配置scrapy settings中的请求中添加User-Agent字段,然后在Pycharm的Terminal终端输入scrapy shell https://www.qiushibaike.com/hot/page/1/ 命令进入交互模式进行。
如下图:
2、多级定位和跳级定位标签元素
1. 多级定位
从根节点开始选择定位,通常是以"/"开头,返回所有匹配的子节点选择器列表。
例如:我要定位下面的body标签。
那么多级定位的写法应该是:r = response.xpath(’/html/body’),这里找到了一个,所以返回的是包含一个选择器元素的