数据提取方法

html和xml的区别

  • html(超文本标记语言),用来显示数据
  • xml(可扩展标记语言),用来传输和存储数据

xpath语法

  • // 的用途

    • //a当前html页面上的所有的a
    • bookstore//bookbookstore下的所有book元素
  • @的使用

    • //a/@herf所有a的href
  • text()的使用

    • //a/text()获取所有的a下的文本
  • text()的使用

    • //a/text()获取所有的a下的文本
    • //a[text()=下一页]获取文本为下一页的a标签
  • xpath查找特定的节点

    • //a[1]选择第一个a标签
    • //a[last()]选择最后一个a标签
    • //a[position()<4]选择前三个a标签
  • xpath的包含

    //a[contains(text(),“下一页”)]选择文本包含下一页三个字的a标签

    //a[contains(@class, "n")]选择class属性包含n的a标签

lxml模块的使用

from lxml import etree
element = etree.HTML(html_str) # bytes或str类型的字符串
element.xpath("xpath_str")  # 返回列表
etree.tostring(element)  # 转化为字符串,查看与原始element是否有区别
# 数据提取时,先分组,再提取

你可能感兴趣的:(笔记)