xpath的基本使用以及lxml解析html代码和文件

xpath的基本使用:

  放上别人的博客:https://mp.weixin.qq.com/s?src=11&timestamp=1628086639&ver=3232&signature=2Is5X-48A*YLAft3VKnvZFRhVEJ8Py8xYo*1w5-daGWdwybn0EuT9sUQQpcohZHy*C9BE4x2E6br1qdpS1u8Hgh1aDmbMv3WjegDJvUKaSZnQp5SadQPfn*lzOGUCC2M&new=1

    原创:liupu

 

lxml解析html代码和文件:

  两者基本上都是结合使用,首先用etree将网页解析为一个对象,才可以用xpath。

  etree.tostring方法解析为一个bytes,再解码成为一个str,这两个可以验证。

import requests
from lxml import etree

#解析html字符串,用etree.HTML
html = etree.HTML(text)
print(html) # #<Element html at 0x26573d09a80> ,结果是一个对象
#我们必须将其解码为html格式才能使用xpath
print(type(etree.tostring(html))) #bytes
print(type(etree.tostring(html,encoding='utf-8').decode('utf-8')))  #str 经过解码返回一个str
print(etree.tostring(html,encoding='utf-8').decode('utf-8'))

#解析html文件,用etree.parse
html = etree.parse('文件名')
print(etree.tostring(html,encoding='utf-8').decode('utf-8'))
#这个函数XML解析器,若遇到一些不规范的html,会解析错误,这时候就需要自己定义一个解析:
parser = etree.HTMLParser('utf-8')
html = etree.parse('文件名',parser=parser)
print(etree.tostring(html,encoding='utf-8').decode('utf-8'))

 

上一篇:lxml与xpath


下一篇:投递简历总是石沉大海?HR表现的机会都不给你?【Python爬虫实战:简历模板采集】