冷山集 2020-07-27 09:23 采纳率: 100%
浏览 175
已采纳

python爬取36kr时模拟Post请求返回的内容不是需要的内容

python爬取36kr时模拟Post请求返回的内容不是需要的内容

import requests
import json
import re



headers = {
'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'content-length': '301',
'content-type': 'application/json',
'origin': 'https://36kr.com',
'referer': 'https://36kr.com/information/technology',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-site',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'
}

data = {
    "partner_id":"web",
    # "timestamp":1595811108197,
    "param":{
        "subnavType":1,
        "subnavNick":"technology",
        "pageSize":30,"pageEvent":1,
        "pageCallback":"eyJmaXJzdElkIjozMDAwNzU0LCJsYXN0SWQiOjI5OTk4NDksImZpcnN0Q3JlYXRlVGltZSI6MTU5NTgxMTA5MjM5MywibGFzdENyZWF0ZVRpbWUiOjE1OTU2Mzg4MDAwMDB9",
        "siteId":1,
        "platformId":3
    }
}


Request_URL = 'https://gateway.36kr.com/api/mis/nav/ifm/subNav/flow'

r = requests.post(Request_URL, data=data, headers=headers, timeout=9).text
# json_list = json.loads(r)
# print(json_list)
print(type(r))
print(r)

返回的内容如下:

<class 'str'>
<!DOCTYPE html><html><head><title>Apache Tomcat/8.5.5 - Error report</title><style type="text/css">H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}.line {height: 1px; background-color: #525D76; border: none;}</style> </head><body><h1>HTTP Status 500 - </h1><div class="line"></div><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>exception</b></p><pre>java.lang.NullPointerException
</pre><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/8.5.5 logs.</u></p><hr class="line"><h3>Apache Tomcat/8.5.5</h3></body></html>

求解接下来该怎么样编写代码

  • 写回答

4条回答 默认 最新

  • 放风喽 2020-07-27 20:16
    关注

    HTTP Status 500所以肯定什么地方错了
    我用网页打开也是500,所以你再看看接口的必要元素是不是少了

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

报告相同问题?

悬赏问题

  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥200 求能开发抖音自动回复卡片的软件
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题
  • ¥50 C#编程中使用printDocument类实现文字排版打印问题