用bs4如何把这段html代码中的各个项点提取出来呢?

<ul class="sheshi_zb">
                                            <li class="jiaotong_color"><span>交通</span>公交10路在埠惜路北杨头站下车;公交106路、120路在辽河一路实验中学站下车</li>                                                        <li><span>幼儿园</span>杨头幼儿园</li>                            <li><span>中小学</span>即墨市实验高级中学</li>                            <li><span>大学</span>即墨广播电视大学</li>                                                    <li><span>综合商场</span>利群、佳乐家</li>                        <li><span>医院</span>医疗中心</li>                        <li><span>银行</span>工商银行、建设银行</li>                        <li><span>邮政</span>邮政储蓄</li>                        <li><span>其他</span>龙泉湖公园,盟旺山公园</li>                        <li><span>小区内部配套</span>快递柜、超市、老年文化中心</li>                                                            </ul>

周边设施
交通:公交10路在埠惜路北杨头站下车;公交106路、120路在辽河一路实验中学站下车
幼儿园:杨头幼儿园
中小学:即墨市实验高级中学
大学:即墨广播电视大学
综合商场:利群、佳乐家
医院:医疗中心
银行:工商银行、建设银行
邮政:邮政储蓄
其他:龙泉湖公园,盟旺山公园
小区内部配套:快递柜、超市、老年文化中心

这段Html的代码是一个ul class="sheshi_zb"中的内容 但是分了不同li标签,想把对应的内容提取出来应该怎么做呢?

阅读 2.5k
1 个回答
from bs4 import BeautifulSoup

html = '''
<ul class="sheshi_zb">
    <li class="jiaotong_color"><span>交通</span>公交10路在埠惜路北杨头站下车;公交106路、120路在辽河一路实验中学站下车</li>
    <li><span>幼儿园</span>杨头幼儿园</li>
    <li><span>中小学</span>即墨市实验高级中学</li>
    <li><span>大学</span>即墨广播电视大学</li>
    <li><span>综合商场</span>利群、佳乐家</li>
    <li><span>医院</span>医疗中心</li>
    <li><span>银行</span>工商银行、建设银行</li>
    <li><span>邮政</span>邮政储蓄</li>
    <li><span>其他</span>龙泉湖公园,盟旺山公园</li>
    <li><span>小区内部配套</span>快递柜、超市、老年文化中心</li>
</ul>'''

html_text = BeautifulSoup(html, 'lxml')

html2 = html_text.findAll('li')

title = [i.span.get_text() for i in html2]

# text = [i.get_text().lstrip('\n').split('\n') for i in html_text]
text = [i.get_text().lstrip('\n').rstrip('\n').split('\n') for i in html_text]

mydict = dict(zip(title, text[0]))

for i, k in mydict.items():
    print('{0}: {1}'.format(i, k))
  • 这一段就是把你需要的结果生成一个字典。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题