CSS选择在BeautifulSoup中

2024-09-30 03:25:59 发布

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

我有一个页面包含:

    <td class="tablec" width="50%">
        <div class="atomic"><strong>Date:</strong> Tuesday, October 31, 2017 At 08:00</div>
        <div class="atomic"><strong>Duration:</strong> 1 day</div>
    </td>

我需要检索的信息是1 day

不管怎样,我知道:

soup_cal = BeautifulSoup(page_cal.content, 'html.parser')
selected = soup_cal.select("td.tablec > div.atomic")
for lines in selected:
    print(lines.get_text())

但它是空的。你能告诉我怎么弄到这个吗


Tags: divdate页面widthclasscaltdstrong
1条回答
网友
1楼 · 发布于 2024-09-30 03:25:59

如果您使用的是bs4,那么从标记中提取文本的正确方法就是使用.text/.content/.string属性

for line in soup.select("td.tablec > div.atomic"):
     print(line.text)

Date: Tuesday, October 31, 2017 At 08:00
Duration: 1 day

如果只需要最后一行的输出,可以使用:

dur = soup.select("td.tablec > div.atomic")[-1].text.split(None, 1)[-1]

print(dur)
1 day

相关问题 更多 >

    热门问题