/ / Impossibile ottenere una risposta valida da una pagina Web contenente dati json - python, json, python-3.x, web-scraping

Impossibile ottenere una risposta valida da una pagina Web contenente dati json - python, json, python-3.x, web-scraping

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 № 1

Ho 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)