为神马要用Xpath而不是BeautifulSoup呢?
Xpath是要更高效一些的,最重要的是我不需要去查看html结构,通过chrome直接复制Xpath路径就可使用,对于懒人来说这个是挺不错的功能,而且同样强大。当然,萝卜白菜,各有索爱。工具嘛,顺手才是好!
Xpath的安装
>>> PIP3 install lxml
win的安装可以参考后续安装文档
引用
from lxml import etree
解析文本方式
常用HYML()的方式来解析html文件,lxml.etree也提供了fromstring()方式来解析字符串,XML()方式解析XML对象,parse()解析文件类型对象
Xpath的使用
import requests
from lxml import etree
url = 'your url'
content = requests.get(url).content
html = etree.HTML(content)
element =html.xpath('//*[class='class']/div/text()')
print(element)
首先获取的element可能是列表,或节点。这个非常重要,后续操作需要。
'.'----选取当前节点
'..'----选取当前节点的父元素节点
'@'----选取属性
'*'----匹配任何元素
'@*'----匹配任何属性
交流欢迎到我的博客:http://www.nigaea.com/dataanalysis/89.html
参考文档:
http://lxml.de/xpathxslt.html#xpath
http://www.w3school.com.cn/xpath/
https://zhuanlan.zhihu.com/p/20584357
http://blog.chinaunix.net/uid-13869856-id-5747494.html