网络爬虫(六)

作者: zhangxiaohao | 来源:发表于2019-05-12 00:19 被阅读3次
xpath解析原理
  • 实例化etree对象,将页面源码传给该对象。
  • 用生成的etree对象,调用xpath方法和xpath表达式进行定位、获取数据。
环境安装

pip install lxml

基本用法

from lxml import etree

  • 将本地文本传给etree对象:etree.parse(filepath)
  • 将页面源码传给etree对象:etree.parse(page-text)
  • 表达式用法:etree-obje.xpaht('xpath表达式‘),xpath表达式是解析的重点,先上代码。
from lxml import etree
......……
tree=etree.parse('test.html')
r=tree.xpath('/html/head/title') #取得title元素对象。

xpath表达式

  1. /:为分隔符,意义是第一个“/”为根节点,其他的“/”表示一个层级。
  2. //:表示多个层级,如tree.xpath('//titlt'),tree.xpath('/html//title').
  3. 属性定位:如tree.xpath('//div[@class="classname"] ')
  4. 索引定位:如tree.xpath('//div[@class="classname"] /p[3]'),注意索引是从1开始的。
  5. 取文本:/text()取直系文本。如tree.xpath('//div[@class="classname"]/text() ')
    //text()取标签下全部文本,如tree.xpath('//div[@class="classname"]//text() ')
  6. 取属性:/@tattrName,如tree.xpath('//div[@class="classname"]//a/@href ') 晴朗

相关文章

网友评论

    本文标题:网络爬虫(六)

    本文链接:https://www.haomeiwen.com/subject/pwhxaqtx.html