python爬取经过Ajax请求之后的网页表格数据时,如何获取中文表头?

url:https://gs.amac.org.cn/amac-infodisc/res/pof/fund/index.html

想获取图一对应中文表头,但python爬取的却是图二字典键值(英文)作为表头(看不懂),不要手动替换键值得代码,因为爬取的表格、表头很多手动的太麻烦了,请各位指点!

//*[@id="fundlist"]/thead/tr/th[1]

用//*[@id="fundlist"]/thead/tr/th[1]路径获取就好

获取了json数据后用字典健值对形式获取其值 ,就是中文名称了,如data['fundName'],data['managerName']。

表头在html里面的,ajax返回的数据,你只能自己研究表头和数据项的对应关系,没有那么智能给个网页就能自动匹配的。需要自己分析过

你这样搜索一下,看看表头名称数据是在哪个文件中,用requests获取那个文件的代码然后用正则表达式提取需要的数据

这是实际网址表格主题“检查”情况!

用pandas表格展示了一下,不知道是不是你要的

import pandas as pd

res = {"content":[
    {"fundName":"fundName 1", "managerName":"managerName 1"},
    {"fundName":"fundName 2", "managerName":"managerName 2"},
]}
result = []
for data in res['content']:
    result.append([data['fundName'], data['managerName']])
excel = pd.DataFrame(data=result, columns=["基金名称", "公司名"])
print(excel)
## Result:
#         基金名称            公司名
# 0  fundName 1  managerName 1
# 1  fundName 2  managerName 2
#

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

接口中的数据:

res = {"content":[
    {"fundName":"嘉兴...", "managerName":"子川...", "mandatorName":""},
    {"fundName":"万家共赢", "managerName":"歌斐诺宝","mandatorName":"中信银行"},
]}

解析数据转换DataFrame

result = []
for data in res['content']:
    result.append([data['fundName'], data['managerName'], data['mandatorName']])
# result => [
# ["基金名称1","公司名1","托管公司名1"],
# ["基金名称2","公司名2","托管公司名2"],
# [...]
# ]
excel = pd.DataFrame(data=result, columns=["基金名称", "公司名", "托管公司名"])
print(excel)

# 输出excel:
#     基金名称    公司名 托管公司名
# 0  嘉兴...  子川...      
# 1   万家共赢   歌斐诺宝  中信银行

 

 数据不在吗?