爬虫——2020.10.3 xpath基础解析

    科技2022-07-10  100

    xpath解析:

    最常用且最便捷高效的一种解析方式。通用性强。

    环境安装:pip install lxml from lxml import etree

    原理

    实例化一个etree对象,且需要将被解析的源码页面数据加载到该对象中。调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和捕获。实例化etree对象: (1)将本地的html文档中的源码数据加载到etree对象中: tree = etree.parse(filePath) (2)可以将从互联网上获取额源码数据加载到该对象中: tree = etree.HTML('page_text')xpath表达式: (1)/:表示的是从根节点开始定位。表示的是一个层级。 r = tree.xpath('/html/body/div') (2)//:表示的是多个层级。可以表示从任意层级开始定位。 r = tree.xpath('/html//div') r = tree.xpath('//div') (3)属性定位: r = tree.xpath('//div[@class="song"]') tag[@attName="attValue"] (4)索引定位:r = tree.xpath('//div[@class="song"]/p[3]') 类似于python 的索引用法,但索引号是从1开始的。 (5)取文本: r = tree.xpath('//div[@class="tang"]//li[5]/a/text()'),即通过text()来获得,返回的是一个列表。 r = tree.xpath('//div[@class="tang"]//li[5]/a/text()')[0],加[0]获得文本信息。 r = tree.xpath('//li/text()'), /text()获取的是标签中直系的文本内容,//text()获取的是标签中非直系的文本内容(所有的文本内容) (6)取属性:定位好,在其后加 /@属性名 即可,返回的是列表。
    Processed: 0.072, SQL: 8