Python在标记之间组合文本

2024-10-02 14:26:59 发布

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

我试图从下面的HTML代码中提取数据

    <html>
        <body>
            Other Contents here that I dont care about
            <ul class="normalDays">
                <li>
                    <span>
                        Monday
                    </span>
                    8:00 to 18:00
                </li>
                <li>
                    <span>
                        Friday
                    </span>
                    8:00 to 18:00
                </li>
                <!-- Other days as well -->
            </ul>
        </body>
    </html>

我想从这个代码片段中提取数据。我想提取与之对应的日期和时间。到目前为止,我已经在Python中尝试过了

    trade=i.find("ul",{"class":"normalDays"})
    day=trade.find_all("span")
    for dy in day:
        if dy.string=='Monday':
            print(dy.string+":"+str(dy.parent.text.replace("Monday","")))

但是我想提取数据,而不需要放置7天的if条件。如何直接从HTML代码中提取日期和时间,并将时间分配给日期,然后将其放入字典中,其中键是days Monday到Sunday,值是time?你知道吗


Tags: to数据代码html时间bodyliul
1条回答
网友
1楼 · 发布于 2024-10-02 14:26:59

你可以使用这个代码

from bs4 import BeautifulSoup  


soup = BeautifulSoup(page, 'lxml')
normals_days = soup.find('ul', class_='normalDays').findAll('li')

days = {}
for day in normals_days:
    day = day.text.split()
    days[day[0]] = ' '.join(day[1:])

相关问题 更多 >