appleguess 2019-12-08 19:11 采纳率: 0%
浏览 925

python中用post方式获取网页XHR内容中的Json格式数据,但是返回了html的代码,这是为什么呢?

爬12306的过程中,扫描登录过程最后一步,post获取数据。但是报错
图片说明

def auth(uamtk_code):
    url = 'https://kyfw.12306.cn/passport/web/auth/uamtk'
    header = {'Accept': 'application/json, text/javascript, */*; q=0.01',
              'Accept-Encoding': 'gzip, deflate, br',
              'Accept-Language': 'zh-CN,zh;q=0.9',
              'Connection': 'keep-alive',
              'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) \
                      Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0',
              'Content - Length': '64'}
    data = {'uamtk': uamtk_code,
            'appid': 'excater'}
    callback = session.post(url, headers=header, data=data).text

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
post返回的值是这样的:

<!-- html,body{background:#fff;} -->

  •   网络可能存在问题,请您重试一下!
    <!-- function initArray() { for (i = 0; i < initArray.arguments.length; i++) this[i] = initArray.arguments[i]; } var isnMonths = new initArray("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"); var isnDays = new initArray("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"); today = new Date(); hrs = today.getHours(); min = today.getMinutes(); sec = today.getSeconds(); clckh = "" + ((hrs > 12) ? hrs - 12 : hrs); clckm = ((min < 10) ? "0" : "") + min; clcks = ((sec < 10) ? "0" : "") + sec; clck = (hrs >= 12) ? "下午" : "上午"; var stnr = ""; var ns = "0123456789"; var a = ""; function getFullYear(d) { yr = d.getYear(); if (yr < 1000) yr += 1900; return yr; } document.write(getFullYear(today) + "年" + isnMonths[today.getMonth()] + today.getDate() + "日" + " " + clckh + ":" + clckm + ":" + clcks + " " + isnDays[today.getDay()]); //-->


  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 21:39
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试