输入内容:
input='''
<div>姓名: example</div><br />年龄 :23
介绍 :<b>example</b>11<a href="example.com">1111</a><br>属性 1:内容
'''
想转化为一个 dict
output={"姓名":"example", "年龄": "23","介绍":"<b>example</b>11<a href="example.com">1111</a>","属性 1":"内容"}
项数 换行方式 冒号(全 /半角)都不是固定的。虽然手动解析没什么难度,但有没有现成的可以直接用的包?如果没有,最佳解析方法是什么?
1
q409195961 2022-05-19 04:30:03 +08:00
<br />和<br>都替换成\n
中文冒号替换成英文冒号 split 以“\n”拆成数组 截出英文冒号前面做 key ,后面做 value key 和 value 用 strip 去除多余空格 插入 dict |
2
abc612008 2022-05-19 05:58:06 +08:00
|
3
ebingtel 2022-05-19 09:02:08 +08:00
找 beautifulsoup 的库,对 html 进行解析,提取出 text ,再用 1L 的方法,转一下
|
4
dfgxcvbcv OP |
5
dfgxcvbcv OP #1 目前做法就是这样的,想问问有没有更好的实现 (号太新了 1 楼的用户名 @ 不了)
|
6
huntagain2008 2022-05-19 10:11:05 +08:00
@q409195961 小白我按照 1 楼的方法做出来了。我根本不会 python
>>> for i in list1: ... d[i.split(':')[0].strip()]=i.split(':')[1].strip() ... >>> d {'姓名': 'example', '年龄': '23', '介绍': '<b>example</b>11<a href="example.com">1111</a>', '属性 1': '内容'} |
7
learningman 2022-05-19 13:44:03 +08:00 via Android
不完整的 xml ,那就上 lxml 呗
|