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' 部分をコメントし、JSON の代わりに通常のdictを入力データとして使用すると、何も返されず、 status_code が415に変わります。どうすればよいかわかりません。誰かが私を助けてくれることを願っています。どうもありがとう!

…………

みんなありがとう、私はこれを解決しました。問題は、JSON 配列に '0' を追加してはならないことです!

4

0 に答える 0