如何获得包含特定tex的类或ID的scrape DIV

2024-10-01 17:41:17 发布

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

我从一个网站上抓取了一些HTML

<div>
 <div id="content1">
 </div>
 <div id="content3">
 </div>
 <div id="content22">
 </div>
</div>

如何遍历ID以content开头的所有div?在


Tags: divid网站htmlcontentcontent3content1content22
1条回答
网友
1楼 · 发布于 2024-10-01 17:41:17

最简单的方法是使用CSS selector

soup.select('div[id^=content]')

^=语法指定id属性值应以content开头。在

您可以使用作为^{}id参数传入的regular expression filter得到相同的结果:

^{pr2}$

演示:

>>> from bs4 import BeautifulSoup
>>> sample = '''\
... <div>
...  <div id="content1">
...  </div>
...  <div id="content3">
...  </div>
...  <div id="content22">
...  </div>
... </div>
... '''
>>> soup = BeautifulSoup(sample)
>>> soup.select('div[id^=content]')
[<div id="content1">
</div>, <div id="content3">
</div>, <div id="content22">
</div>]
>>> soup.find_all('div', id=re.compile('^content'))
[<div id="content1">
</div>, <div id="content3">
</div>, <div id="content22">
</div>]

相关问题 更多 >

    热门问题