私は、デバイスの保証状況を調べるために、Webページに1つのテキストデータを投稿しようとしています。私がこれを試みるたびに、200のHTTPレスポンスコードが得られますが、空のNIDフィールドを持つ送信ボタンをクリックしたような結果になります。私は何かシンプルなものを見逃していると確信していますが、それは私を逃すものです。私のPythonコードは次のとおりです。Python Webスクレーパーポストが動作しないようです。
#!python3
import requests
from bs4 import BeautifulSoup
from requests.auth import HTTPBasicAuth
#This URL is the page you actually want to pull down with requests.
REQUEST_URL = 'https://teamroom.tantalus.com/web/city-of-fulton/warranty-lookup'
s = requests.Session()
r = s.get(REQUEST_URL, headers=headers)
print('REQUEST_URL: ',r.status_code)
bsObj = BeautifulSoup(r.text, 'html.parser')
action = bsObj.find('form', id='warrantyLookup').get('action')
nid = {'nid':'0017B1CC64'}
r = s.post(action, data=nid, headers=headers)
print(r)
print('NID LOOKUP POST RESULT: ', r.status_code)
r = s.get(action, headers=headers)
print('NID LOOKUP RESULTS GET: ', r.status_code)
bsObj = BeautifulSoup(r.text, 'html.parser')
warranty = bsObj.find('div', id='successMessages')
print('Warranty Results: ', warranty)
errors = bsObj.find('span', id='nid.errors')
print('Errors: ', errors.text)
多分あなたは、あなたがブラウザでトラフィックを検査しようとすることができ、データをエンコードする必要がありますか? – PRMoureu