0

我有一个抓取数据任务,在使用 Firefox F12 (DevTools) 检查 URL 后,我发现该站点需要一个 JSON 数组输入,如下所示:

phyIDs:数组 0“FDER047ERDF”

并以 JSON 格式返回一些数据:

trueIDs:数组 0“802.112.1”

我需要的只是“trueID”,所以我使用 Python 3.6.1 和 Requests 来完成这项工作,这里是部分代码:

import json
import requests


headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0',
           'Cookie': 'JSFDKF.......',
           'Content-Type': 'application/json;charset=UTF-8'}

data = {'phyIDs': json.dumps([{0: 'FDER047ERDF'}])}

resp = requests.post(url, headers=headers, verify=False,
                     data=data)
print(resp.text)

但是打印的响应文本是一个类似于 html 的消息,表示发生了一些错误,并且 status_code 是500,但是,如果我在标题中注释 'Content-Type' 部分,并使用普通dict而不是 JSON 作为输入数据,那么什么都没有返回并且 status_code 更改为415,现在我不知道该怎么办,希望有人能帮助我,非常感谢!

............

谢谢各位,我已经解决了这个问题。问题是我不应该在 JSON 数组中添加“0”!

4

0 回答 0