本帖最后由 涛之雨 于 2020-6-6 14:08 编辑
也可以用正则啊。。
不管顺序怎么变,
td和dd标签肯定是一组吧。。
去掉回车,直接匹配就成了
[Python] 纯文本查看 复制代码 #!/usr/bin/env python3
import re
html='''
<td class="a-item name">出生日期</td>
<dd class="a-item value">1933</dd>
<td class="a-item name">出生地</td>
<dd class="a-item value">河南省</dd>
<td class="a-item name">死亡日期</td>
<dd class="a-item value">2015</dd>
<td class="a-item name">获奖情况</td>
<dd class="a-item value">aaaaa</dd>
'''
print("=====================================\n"+html+"\n=====================================")
html=html.replace('\n',"")
born=re.search(r'出生日期.+?\d+',html).group()
born=re.search(r'\d+',born).group()
die=re.search(r'死亡日期.+?\d+',html).group()
die=re.search(r'\d+',die).group()
print("出生日期:\t"+born+"\n死亡日期:\t"+die)
input()
当然也可以用“组”获取
[Python] 纯文本查看 复制代码 html=xxxxxx#赋值一样的
html=html.replace('\n',"")
born=re.search(r'出生日期.+?(\d+)',html).group(1)
die=re.search(r'死亡日期.+?(\d+)',html).group(1)
print("出生日期:\t"+born+"\n死亡日期:\t"+die)
把数字转换成组然后输出。。。不过我不大喜欢(虽然这样更简便,而且效率更高)
但是debug的时候会更难判断 |