我正在尝试使用python从html网站中提取一些数据

2024-09-28 01:33:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从这个页面中提取一些数据。我得到了我想要的数据,但我想重新创建它。 我得到的是这样的:阿瑞斯:老兵。21,10119柏林-米特 我想把地址和门牌号分开,例如Veteranestr和21。同样的情况也发生在灯柱上。有人知道怎么把他们分开吗

<div class="article-attributes">
        <h4 class="heading">Kinodetails</h4>
        <ul>
            <li>
                <span class="title">Adresse:</span>
                <span class="text">
                    <div class="first">
                        <span class="street-address">Veteranenstr. 21</span>
                    </div>
                    <div class="second">
                        <span class="postal-code">10119</span>&nbsp;
                        <span class="locality"> Berlin - Mitte </span>
                    </div>

下面是我为解压程序编写的代码:

paga_soup = soup(page_htmll,"html.parser")
karak = paga_soup.findAll("div",{"class":"article-attributes"})
ka = karak[0]
dat = ka.findAll("li")

# suche nach Adresse
for by in dat:
    adresse = by.find_all('span')
    if (adresse[0].text == "Adresse:"):
        print('    ' + adresse[0].contents[0] + ' ' + adresse[2].text + ', '+ adresse[3].text + ' ' + adresse[4].text.strip())


Tags: 数据textdivarticlelih4attributesclass
1条回答
网友
1楼 · 发布于 2024-09-28 01:33:20

您可以尝试这样做,使用CSS选择器查找包含地址的范围,在一个空格上拆分,并将其解压缩以分配给变量。这取决于其他地址的外观,您可能需要稍微调整一下解包

paga_soup = soup(page_htmll,"html.parser")
            karak = paga_soup.findAll("div",{"class":"article-attributes"})
            ka = karak[0]
            dat = ka.findAll("li")
            # suche nach Adresse
            for by in dat:
                address, number = by.find(".article-attributes .street-address").text.split()

相关问题 更多 >

    热门问题