m0_56132761 2021-04-24 10:44 采纳率: 100%
浏览 143
已采纳

python JsondecodeError该怎么解决,求大佬帮忙


 
import requests
import json
if __name__ == '__main__':
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36'
    }
    id_list = []#存储企业的id
    all_data_list = [] #存储所有企业的详情数据

    #批量获取不同企业的id值
    url = 'http://scxk.nmpa.gov.cn:81/xk/'
    for page in range(1,7):
        page = str(page)
        data={'on': 'true',
              'page': '1',
              'pageSize': '15',
              'productName':'',
              'conditionType':'1',
              'applyname':'',
              'applysn':''}


        json_ids = requests.post(url=url ,headers=headers,data=data).json()
        for dic in json_ids['list']:
            id_list.append(dic['ID'])

#获取企业详情数据'
    post_url='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'
        for id in id_list:
            data = {
                'id':id
    }
        detail_json = requests.post(url=post_url,headers=headers,data=data).json()
    #print(detail_json)
        all_data_list.append(detail_json)
    #持久化存储all data list
    fp= open('./allData.json','w',encoding='utf-8')
    json.dump(all_data_list,fp=fp,ensure_ascii=False)
    print('over')

 
  • 写回答

5条回答 默认 最新

  • CSDN专家-HGJ 2021-04-24 11:07
    关注

    代码无法获取json格式的数据主要原因有二个方面,一是11行的url不准确,应该是url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do';二是要传参数params,在第13行后加上params = ( ('method', 'getXkzsList'), ),在第23行post里写上params=params

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd