You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将BeautifulSoup查询结果全部存入键为'https'的字典?

问题原因
  • 字典初始化位置错误:你将info = {}写在了for循环内部,每次循环都会生成一个新的空字典,之前存储的内容会被直接清空,仅保留最后一次循环的赋值结果。
  • 字典键唯一性限制:Python字典的键是唯一不可重复的,你反复给同一个键"https"赋值,新值会直接覆盖旧值,因此最终字典中永远只会保留1个键值对。
  • 变量命名不规范:循环变量和原结果集变量都用了soup命名,会覆盖原结果集,容易引发隐蔽的逻辑错误。
解决方案

你可以根据自己的使用场景选择对应方案:

场景1:所有结果存在同一个字典的https字段下

如果你需要将所有匹配到的文本统一存在"https"对应的字段中,将该字段的值设置为列表即可,示例代码如下:

info = {"https": []}
# 重命名结果集变量,避免和循环变量冲突
soup_items = BeautifulSoup(request.content, "lxml").find_all("td", class_="new")
for item in soup_items:
    info["https"].append(item.text)

# 查看爬取到的总结果数
print(len(info["https"]))

场景2:每条结果单独对应一个字典

如果你需要每条结果都对应一个键为"https"的字典,可以将所有字典存入列表中,示例代码如下:

info_list = []
soup_items = BeautifulSoup(request.content, "lxml").find_all("td", class_="new")
for item in soup_items:
    info_list.append({"https": item.text})

# 查看爬取到的总结果数
print(len(info_list))

内容的提问来源于stack exchange,提问作者xiqi1949

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:45:09