Ho scritto uno script in python per ottenere una risposta da una pagina Web. I dati in quella pagina web sono dentro json
formato. Tuttavia, quando provo come sotto ho un errore. Qualcuno può darmi qualche soluzione su come ottenere una risposta valida?
Ecco il mio tentativo di fallimento:
import requests
import json
URL = "https://www.sandicormls.com/agent/AgentSearch?officeSortOption=name&_=1516998894917&_keywordsAll=&officeLocation=&sortOption=rndsrt&_keywordsAgentName=&page=&typeIn=Realtor%2CBroker%2COwner%2COffice+Manager%2CAppraiser&searchMode=agent&officeName="
res = requests.get(URL,headers={"User-Agent":"Mozilla/5.0"})
print(res.json())
Questo è il traceback:
Traceback (most recent call last):
File "C:UsersAppDataLocalProgramsPythonPython35-32new_line_one.py", line 34, in <module>
print(res.json())
File "C:UsersAppDataLocalProgramsPythonPython35-32libsite-packagesrequestsmodels.py", line 892, in json
return complexjson.loads(self.text, **kwargs)
File "C:UsersAppDataLocalProgramsPythonPython35-32libjson__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "C:UsersAppDataLocalProgramsPythonPython35-32libjsondecoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:UsersAppDataLocalProgramsPythonPython35-32libjsondecoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
risposte:
0 per risposta № 1Ho appena fatto un tentativo e confermare che il tuo codice va bene in quanto funziona sul mio ambiente. Tuttavia, lo eseguo su una macchina virtuale Linux (Ubuntu 16.04). Puoi controllare quali dati stai tornando
print(res.headers[‘content-type’])
o esaminare il contenuto come
print(res.text)