python网页内容提取神器lxml
一、Xpath是什么
XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
XPath 使用路径表达式在 XML 文档中进行导航
XPath 包含一个标准函数库
XPath 是 XSLT 中的主要元素
XPath 是一个 W3C 标准
二、XPath在python内容提取中的常用规则
1.选取节点
XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。
下面列出了最有用的路径表达式:
表达式 | 描述 |
---|---|
nodename | 选取此节点的所有子节点。 |
/ | 从根节点选取。 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 |
. | 选取当前节点。 |
.. | 选取当前节点的父节点。 |
@ | 选取属性。 |
示例:
# -*- coding: utf-8 -*- from lxml import etree import requests resp = requests.get('http://www.zuowen.com/dan' 'yuanzw/xiaoxueyuwen/rj3s/') resp.encoding = 'gbk' html = resp.text doc = etree.HTML(html) # 选取网页标题 print(doc.xpath('//title')[0].text) # “//”从匹配选择的当前节点选择文档中的节点 print(doc.xpath('/html/head/title')[0].text) # “/”从根节点开始提取
千行代码,Bug何处藏。 纵使上线又怎样,朝令改,夕断肠。