Próbuję uzyskać wyniki wyszukiwania interfejsu Twitter API dla danego hashtagu przy użyciu Pythona, ale mam problem z tym błędem "Nie można zdekodować obiektu JSON". Musiałem dodać dodatkowy% na końcu adresu URL, aby zapobiec błędowi formatowania napisów. Czy ten błąd JSON może być powiązany z dodatkowym%, czy jest spowodowany przez coś innego? Wszelkie sugestie będą mile widziane.Jak naprawić błąd "JSONDecodeError: Nie można zdekodować obiektu JSON: wiersz 1 kolumna 0 (znak 0)"?
fragment:
import simplejson
import urllib2
def search_twitter(quoted_search_term):
url = "http://search.twitter.com/search.json?callback=twitterSearch&q=%%23%s" % quoted_search_term
f = urllib2.urlopen(url)
json = simplejson.load(f)
return json
Jaka jest rzeczywista treść odpowiedzi? Używając twojego kodu możesz go znaleźć z czymś takim jak 'content = f.read()'. –
Użyłem twojego kodu i wypróbowałem drukowanie zawartości, ale otrzymałem ten sam błąd: JSONDecodeError: Nie można zdekodować obiektu JSON: wiersz 1 kolumna 0 (znak 0) funkcja pull_tweets in twitter_puller_1.py w linii 28 data1 = wyszukiwarka (zapytanie1) funkcja search_twitter w twitter_puller_1.py na linii 14 json = simplejson.load (f) w funkcji obciążenia tytułu wzdłuż linii 328 Brak ładunki funkcyjnych tytułu w wierszu 384 Brak funkcja dekodowania z tytułu wzdłuż linii 402 obj, end = self.raw_decode (s, idx = _w (s, 0) .end()) funkcja raw_decode w untitled w linii 420 podniesienie JSONDecodeErro r ("Nie można zdekodować obiektu JSON", s, idx) – user374372
Zobacz odpowiedź blcArmadillo. Musisz usunąć argument "callback" ze swojego żądania na Twitter. Coś jak 'url =" http://search.twitter.com/search.json?q=%s "% quoted_search_term" powinno działać. –