python中有关html知识的问题

python中有关html知识的问题,有什么比较快捷的解决方案吗?

img

from bs4 import BeautifulSoup
def lists2tables(s):
    soup=BeautifulSoup(s,'html.parser')
    lis=soup.select('li')
    maxcol=1
    trs=[]
    for i in range(len(lis)):
        tds=lis[i].text.split(',')
        if len(tds)>maxcol:
            maxcol=len(tds)
        tds=[f'<td>{i+1}</td>']+[f'<td>{x.strip()}</td>' for x in tds]
        trs.append(tds)
    maxcol+=1
    for i in range(len(trs)):
        if len(trs[i])!=maxcol:#补全td
            for j in range(maxcol-len(trs[i])):
                trs[i].append('<td></td>')
        trs[i]=f"<tr>{''.join(trs[i])}</tr>"
    return f"<body><table border=\"1\">{''.join(trs)}</table></body>"
        
s="<body><ol><li>coffee,milk,water</li><li>banana,apple</li><li>tea</li></ol></body>"
s1="<body><table border=\"1\"><tr><td>1</td><td>coffee</td><td>milk</td><td>water</td></tr><tr><td>2</td><td>banana</td><td>apple</td><td></td></tr><tr><td>3</td><td>tea</td><td></td><td></td></tr></table></body>"

assert lists2tables(s)==s1


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632