欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

scrapy爬虫之xpath数据提取工具的使用

程序员文章站 2022-05-11 17:35:26
...

xpath是xml路径语言,它是一种来确定xml文档某部分位置的语言
html属于xml

html的一般格式

<html>
	<head>
		表题信息
	</head>
	<body>
		我们网页中看到的内容
	</body>
</html>

xpath的基本语法

表达式 描述
/标签 选中根,或根下的第一层标签
//标签 全局匹配的标签
. 点前节点
当前节点的父节点
* 选择所有标签
text() 选中文本
@属性 选中指定属性的节点

以下面网站为例
scrapy shell http://books.toscrape.com/

“/” 的使用
In [1]: response.xpath('/head')                                  
Out[1]: []

In [2]: response.xpath('/html')                                  
Out[2]: [<Selector xpath='/html' data='<html lang="en-us" class="no-js"> <!-...'>]
#可以观察到,head是空的,html有内容,因为在跟节点下只有一个html的标签
“//” 的使用
In [8]: response.xpath('//div')                                  
Out[8]: 
[<Selector xpath='//div' data='<div class="page_inner">\n            ...'>,
 <Selector xpath='//div' data='<div class="row">\n                <di...'>,
。。。省略。。。
选取书籍title的内容
In [5]: response.xpath("//article/h3/a/@title").extract()        
Out[5]: 
['A Light in the Attic',
 'Tipping the Velvet',
 'Soumission',
 'Sharp Objects',
 'Sapiens: A Brief History of Humankind',
 'The Requiem Red',
 'The Dirty Little Secrets of Getting Your Dream Job',
 'The Coming Woman: A Novel Based on the Life of the Infamous Feminist, Victoria Woodhull',
。。。省略。。。

其他使用看这个链接:链接

xpath中函数的使用:w3cschool