ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-08-04 23:02:54  阅读:201  来源: 互联网

标签:xpath lxml utf html tostring print etree 解析


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'))

 

标签:xpath,lxml,utf,html,tostring,print,etree,解析
来源: https://www.cnblogs.com/top200/p/15101203.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有