python - 网页抓取没有“类”或“ID”标识符的特定部分
问题描述
我在网络抓取时遇到问题
在 Python 中使用 BeautifulSuop4 时标记元素。通常,这些元素会被赋予一个类或 id 标识符,我可以在其中使用:
.find_all(<p>, class_ = 'class-name')
找到元素但是我试图隔离的元素在一个连续的列表中
所有这些标签都没有其元素的标识符。
有没有办法选择每个
在具有标识符的标签之后的标签?或者也许是一种隔离特定的方法
我想要的标签没有任何共享的类/ID?
解决方案
您可以使用 find_next_sibling 来查找元素的无类下一个兄弟。
考虑这个示例 HTML。第一个 div 有“blah”类。第二个 div 没有类,但在第一个 div 旁边。
html='<div><div class="blah">1</div><div>no class</div></div>'
import bs4
soup = bs4.BeautifulSoup(html,'html.parser')
soup.find('div',{'class':"blah"}).find_next_sibling()
#outputs second div without a class
<div>no class</div>
推荐阅读
- python - ImportError:无法导入名称“GceClusterResolver”
- ios - MDCTextInputController 错误消息涵盖输入的文本
- mysql - 给定一个 ID,返回与给定 ID 不具有相同类别的数据
- python - 在 (X,Y,Z) 坐标图上包含时间标签
- javascript - 如果之前已经设置了一个属性,如何防止再次设置属性?
- mysql - 为什么在mysql中使用连接池时需要释放连接?
- python - 计算 Keras 层神经元与互信息之间的系数的基本结构
- python - 如何将此非统一 XML 文件转换为 Pandas 数据框
- azure-data-explorer - 如何在 Kusto 中使用动态关键字
- typescript - 另一个 TS7006:参数“X”隐含具有“任何”类型——但不完全是