fdar 2022-08-02 17:58 采纳率: 50%
浏览 84

关于python爬虫遇到的问题

2问题遇到的现象和发生背景

类型:该网页的URL是拼接的, 请求方式是get,pyload提交是json数据

如下是头请求的数据:

Request URL: http://网址隐藏:7413/api/entity/task?_dc=1659430069176&page=1&start=0&limit=25&filter=%5B%7B%22property%22%3A%22dateRange%22%2C%22value%22%3A7%7D%2C%7B%22property%22%3A%22prefectureId%22%2C%22value%22%3A12%7D%2C%7B%22property%22%3A%22countyId%22%2C%22value%22%3A43%7D%2C%7B%22property%22%3A%22processInsStarter%22%2C%22value%22%3A%22wenzchenzg%22%7D%2C%7B%22property%22%3A%22manualOrdinal%22%2C%22value%22%3A%221%22%7D%2C%7B%22property%22%3A%22searchKey%22%2C%22value%22%3A%22%5Cu4e00%5Cu7ea7%22%7D%2C%7B%22property%22%3A%22processGroupType%22%2C%22value%22%3A4%7D%2C%7B%22property%22%3A%22taskView%22%2C%22value%22%3A%22all%22%7D%5D
Request Method: GET
Status Code: 200
Content-Type: application/json

下面是payload的参数:

_dc: 1659430069176
page: 1
start: 0
limit: 25
filter: [{"property":"dateRange","value":7},{"property":"prefectureId","value":12},{"property":"countyId","value":43},{"property":"processInsStarter","value":"wenzchenzg"},{"property":"manualOrdinal","value":"1"},{"property":"searchKey","value":"\u4e00\u7ea7"},{"property":"processGroupType","value":4},{"property":"taskView","value":"all"}]

img

然后把payload的都传参进requests.get,但是一直读不到数据,报错

 3问题相关代码,请勿粘贴截图

import requests
import json
import pprint
import time
from urllib.parse import urlencode

p = str(int(time.time() * 1000))   
url = "网址隐藏:7413/api/entity/task"
cookie = "cookie隐藏"

headers = {
    "Connection": "keep-alive",
    "Content-Type": "application/json",
    "Cookie": cookie,
    "Host": "网址隐藏:7413",
    "Referer": "网址隐藏:7413/",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
 }


 data = {
    "_dc": p,
    "page": 1,
    "start": 0,
    "limit": 200,
    "filter": [{"property":"dateRange","value":7},
               {"property":"prefectureId","value":12},
               {"property":"countyId","value":43},
               {"property":"processInsStarter","value":"wenzchenzg"},
               {"property":"manualOrdinal","value":"1"},
               {"property":"searchKey","value":"\u4e00\u7ea7"},
               {"property":"processGroupType","value":4},
               {"property":"taskView","value":"all"}]
}

re = requests.get(url=url,headers=headers,data=json.dumps(data)).json()

pprint.pprint(re)

4运行结果及报错内容

{'resultCode': '0',
 'resultDetailText': 'java.lang.NullPointerException\n',
 'resultText': 'java.lang.NullPointerException',
 'success': True}

5我的解答思路和尝试过的方法

第一次请求出错后,感觉是不是url的问题,然后用
urlcode把ULR都参数拼接后请求拼接的URL,但是还是没用

6我想要达到的结果
请求能够得到数据

img

  • 写回答

6条回答 默认 最新

  • 亖夕 Python领域新星创作者 2022-08-02 18:30
    关注

    把data=json.dumps(data)改成data=data看看

    评论

报告相同问题?

问题事件

  • 创建了问题 8月2日

悬赏问题

  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch