如何从带有“style”属性的<div>获取文本?

2024-04-19 22:37:53 发布

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

我想从这个link获取学校的地址信息。我感兴趣的HTML如下所示:

<div style="float:left;width:100%;padding-top:10px;padding-bottom:30px;">
  <div>1936 North St.</div>
  <div>Natchitoches, TX 75962</div>
  <div>936-468-2901</div>
</div>

所需文本为:

^{pr2}$

以下是我的尝试:

address = soup.find('div', 'float:left;width:100%;padding-top:10px;padding-bottom:30px;')
print address

我的输出:None

我认为soup.find()以一个属性作为参数,而“style”是一个属性,所以传递属性的名称将得到内容。。。在

对于如何获得地址文本,有什么建议或是一个漂亮的组实现?在


Tags: 文本div属性styleaddress地址toplink
2条回答

这将得到您想要的:

address = soup.find('div', {'style':'float:left;width:100%;padding-top:10px;padding-bottom:30px;'})
print address.get_text()

使用dict定义style属性

使用get_text()获取标记之间的文本

为了按属性搜索,您需要告诉BeautifulSoup要查看哪个属性。有几种方法可以做到这一点:

>>> soup.find('div', style='float:left;width:100%;padding-top:10px;padding-bottom:30px;')
<div style="float:left;width:100%;padding-top:10px;padding-bottom:30px;">
<div>1936 North St.</div>
<div>Natchitoches, TX 75962</div>
<div>936-468-2901</div>
</div>
^{pr2}$

后者在搜索class属性时特别有用,因为它在Python中是保留字,所以不能作为关键字参数。在

相关问题 更多 >