python爬虫 XPath选择器 bs4

XPath

XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。

XML

XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 的标签需要我们自行定义。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准

XPat开发工具

1.开源的XPath表达式编辑工具:XMLQuire(XML格式文件可用)
2.Chrome插件 XPath Helper
3.Firefox插件 XPath Checker

选取节点

XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

表达式

notename :查找出html所有标签名为notename的节点
/:表示从根节点开始查找(相对性的)
//:从任意位置匹配出你想要的节点
.: 选取当前节点
..:选取当前节点的父节点
@ :表示选择属性
text():取标签文本内容
notenamep[1]:取标签名为notename的第一个节点
notenamep[last()]:取标签名为notename的最后一个节点
notenamep[last()-1]:取标签名为notename的倒数第二个节点

CSS 选择器:BeautifulSoup4

和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。

抓取工具 速度 使用难度 安装难度
正则 最快 困难 无(内置)
BeautifulSoup 慢 最简单 简单
lxml 快 简单 一般

lxml:说明使用的是lxml.html解析器(速度快,容错性也比较高)
html.parser:python自带的html解析器

节点

name=None:可以是一个字符串,可以是一个列表,正则表达式 (标签的名称)
attrs={}:是一个字典,(标签的属性)
text=None:是个字符串,列表,正则表达式 (会查找出所有跟text文本一致的内容)

选择器

使用css选择器
. 点表示类选择器
# 表示id选择器

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容