您并没有为每个iframe创建单独的字典,只是不断地修改同一字典,并在列表中继续添加对该字典的引用。
请记住,当您执行诸如之类的 *** 作时
content.append(info),您并没有在复制数据,只是在数据上附加了引用。
您需要为每个iframe创建一个新的词典。
for iframe in soup.find_all('iframe'): info = {} ...
更好的是,您不需要先创建一个空字典。只需一次创建所有内容:
for iframe in soup.find_all('iframe'): info = { "src": iframe.get('src'), "height": iframe.get('height'), "width": iframe.get('width'), } content.append(info)
还有其他方法可以完成此 *** 作,例如遍历属性列表或使用列表或字典理解,但是很难提高上述代码的清晰度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)