Python-lxml.etree

来源:互联网 发布:程序员的工资组成 编辑:程序博客网 时间:2024/05/14 02:20

写爬虫的时候,经常用到正则表达式,但最近写爬虫的时候接触到了一个新的处理html代码的库lxml,在这里归纳一下用法。

  • 解析文本
  • xpath
  • ElementPath

  • 解析文本
    lxml.etree解析文本的方法有:
    fromstring()
    HTML()
    XML()
    parse()——解析文本类型的对象

  • 用Xpath获取静态文本
    在所爬取网页的审查元素中,找到自己要提取的数据所对应的标签,右键copy XML,具体操作如下:

from lxml import etreeimport requestsurl = 'url of website'content = requests.get(url).contenthtml = etree.HTML(content)html.xpath('XML')

Tips: 1) 若XML中出现/tbody标签,要记得删除
2) .xpath(substring)返回的是一个列表,里面的元素类型也是xml的,所以需要解析。我采用的方法是lxml.etree._ElementTree中的itertext()函数,返回的是一个可迭代的text对象。

  • ElementPath
    interfind()——用迭代的方法来返回所有符合条件的元素
    findall()——以列表形式返回所有元素
    find()——返回第一个元素
    findtext()——返回第一个元素的text
原创粉丝点击