Ich versuche, den JSON-Code von einem Objekt mit Schwerpunkt auf Twitter zu ziehen. Ich mache das aus Neugierde und auch, weil ich versuche zu bestimmen, was ich mit Scrappy
anfordern kann, um Code zu schreiben, der das unendliche Scrollen von Twitter umgeht und mir erlaubt, alle Tweets von der Timeline eines Benutzers zu entfernen.Python 3: Versuchen, JSON-Code von Anfrage
(ich weiß, dass es einige Pakete gibt, die dies bereits tun, aber ich will es selbst einrichten lernen, indem Sie :))
Ich habe das urllib
Paket wurde unter Verwendung der Anforderungsdaten zu bekommen, aber, ich habe in einen frustrierenden Fehler laufe, wenn ich es versuchen:
import json
import urllib
with urllib.request.urlopen("https://twitter.com/vonkraush") as url:
data = url.read().decode()
print(json.loads(data))
Traceback (most recent call last):
File "<ipython-input-30-208336effb36>", line 1, in <module>
json.loads(data)
File "C:\Users\Josh\Anaconda3\lib\json\__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "C:\Users\Josh\Anaconda3\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\Josh\Anaconda3\lib\json\decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
JSONDecodeError: Expecting value
ich habe versucht ausdrücklich 'utf-8'
in die Decodierung und ein paar andere Methoden vorbei, aber nichts hat bisher erlaubt, meint diese Fehler zu umgehen. Was mache ich falsch und wie kann ich es beheben?
'Daten' ist ein HTML-Dokument, kein JSON-Objekt. Sie können es nicht an 'json.loads()' übergeben. – DyZ
Odd, ich habe andere Leute genau diesen gleichen Code-Block auf Stapelwechsel vorschlagen vorgeschlagen: https://stackoverflow.com/questions/12965203/how-to-get-json-from-webpage-into-python-script Was soll ich stattdessen tun? –
Wenn JSON auf dieser Seite vorhanden ist, müssen Sie es von der Seite extrahieren und dann 'json.loads()' aufrufen. – DyZ