假设我有一些像
<item name=bread weight="5" edible="yes">
<body> some blah </body>
<item>
<item name=eggs weight="5" edible="yes">
<body> some blah </body>
<item>
<item name=meat weight="5" edible="yes">
<body> some blah </body>
<item>
我想使用 beautiful soup 将每个项目的名称存储在列表中
这是迄今为止的尝试:
names =list()
for c in soup.findAll("item"):
#get name from the tag
names.append(name i got from tag)
此方法非常适合提取标签之间的文本。
我尝试复制用于提取链接的方法<a href="www.blah.com">
但它似乎不起作用。
如何将名称信息存储在列表中? (其他列表包含正文,因此出于关联性原因,索引必须一致)。
非常感谢
Use dict(item.attrs).get('name')
得到名字。
从那时起您就遇到了问题<item>
应该是结束标记,但它是开始标记,因此您会得到 6 个匹配项,而不是 3 个。如果您对文本有任何控制权,请使用结束标记来避免这种情况。
这是按预期工作的完整片段:
names = list()
for item in soup.findAll('item'):
name = dict(item.attrs).get('name')
if name is not None:
names.append(name)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)