Python美化组选择div类
我正在抓取一个像这样的HTMLPython美化组选择div类,python,html,web-scraping,beautifulsoup,Python,Html,Web Scraping,Beautifulsoup,我正在抓取一个像这样的HTML <div class="col-16 text"> ... </div> <div class="col-16 image"> ... </div> <div class="col-16"> ... </div> <div class="col-16 text"> ... </div> &l
<div class="col-16 text"> ... </div>
<div class="col-16 image"> ... </div>
<div class="col-16"> ... </div>
<div class="col-16 text"> ... </div>
<div class="col-16 image"> ... </div>
<div class="col-16"> ... </div>
我只想要一个col-16类的div,但它会返回所有div
如何仅选择col-16的div类
编辑
我想要这个
<div class="col-16"> ... </div>
<div class="col-16"> ... </div>
但我明白了
<div class="col-16 text"> ... </div>
<div class="col-16 image"> ... </div>
<div class="col-16"> ... </div>
<div class="col-16 text"> ... </div>
<div class="col-16 image"> ... </div>
<div class="col-16"> ... </div>
只需按类属性的数量过滤div 例如: 从bs4导入BeautifulSoup 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': 示例_html=。。。 ... ... ... ... ... soup=BeautifulSoupsample\u html,html.parser.find\u alldiv 过滤=[div如果lendiv.attrs[class]==1,则表示汤中div的div] 印刷过滤 输出:
[<div class="col-16"> ... </div>, <div class="col-16"> ... </div>]
我认为这将有助于: 我尝试了以下解决方案: 结果是:
<div class="col-16">
...
</div>
<div class="col-16">
...
</div>
如果您发布了一个更完整的代码示例,并展示了您期望的内容以及您从运行该示例中实际获得的内容,那么将更容易提供帮助。谢谢您的回答。这也在起作用。
from bs4 import BeautifulSoup
html_doc = """<div class="col-16 text"> ... </div>
<div class="col-16 image"> ... </div>
<div class="col-16"> ... </div>
<div class="col-16 text"> ... </div>
<div class="col-16 image"> ... </div>
<div class="col-16"> ... </div>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
#print(soup.prettify())
item = soup.find_all(lambda tag: tag.name == 'div' and
tag.get('class') == ['col-16'])
for x in item:
print(x.prettify())
<div class="col-16">
...
</div>
<div class="col-16">
...
</div>