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

Python网页爬虫生成字典格式异常,寻求修正方案

修正爬虫字典输出格式的解决方案

嘿,我来帮你搞定这个字典格式的问题!从你的描述来看,你已经能成功提取到单个tr标签里的球员数据,但输出不符合字典规范——大概率是没把提取到的字段和对应值正确映射成键值对对吧?我给你整理了修正后的代码示例,你可以参考调整:

首先,假设你的目标tr标签里的td元素分别对应球员姓名、位置、球队这些字段,我们可以这样构建规范的字典:

import requests
from bs4 import BeautifulSoup

URL = "https://fantasy.premierleague.com/player-list/"

# 请求并解析网页
response = requests.get(URL)
soup = BeautifulSoup(response.text, 'html.parser')

# 定位目标单个tr标签(可根据实际结构调整筛选条件,比如加class属性)
target_tr = soup.find('tr')  

# 定义字典的键(对应你要提取的字段,顺序要和td内容匹配)
player_keys = ['player_name', 'position', 'team', 'total_points']

# 提取tr下所有td的有效文本(自动去除空格和换行)
player_values = [td.get_text(strip=True) for td in target_tr.find_all('td') if td.get_text(strip=True)]

# 将键与值配对,生成标准字典
player_dict = dict(zip(player_keys, player_values))

# 输出规范的字典格式
print(player_dict)

关键注意点:

  • 一定要保证player_keys的顺序和player_values的顺序完全对应,否则键值对会错位
  • get_text(strip=True)能帮你清理文本里多余的空格、换行,让数据更整洁
  • 如果你的tr标签里的td数量和定义的键数不匹配,可以根据实际网页结构调整player_keys的字段,或者过滤掉不需要的td元素

如果你的目标tr的td结构和我假设的不一样,只需要修改player_keys的字段名,以及调整target_tr的定位逻辑就可以啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:31:55