2016-03-27 7 views
0

Ich versuche, ein Skript zu schreiben, das eine Zeichenfolge in Google suchen wird, Schleife und iterieren die Zahl in der Zeichenfolge, und drucken Sie die oberen Links. Ich habe dies:Mit Python zu suchen Zeichenfolge, wo eine Zahl iteriert

import urllib.parse 
import urllib.request 
import json as m_json 

for x in range(3, 5): 
    query = '"Amazon Best Sellers Rank: #' + str(x) + ' in Kitchen & Dining": Amazon.com' 
    query = urllib.parse.urlencode ({ 'q' : query }) 
    response = urllib.request.urlopen ('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&' + query).read().decode() 
    json = m_json.loads (response) 
results = json [ 'responseData' ] [ 'results' ] 
for result in results: 
    title = result['title'] 
    url = result['url'] # was URL in the original and that threw a name error exception 
    print (title + '; ' + url) 

Ich erhalte diese Fehlermeldung: "Typeerror: 'NoneType' Objekt ist nicht subscriptable" on line 10, Ergebnisse = ...

Antwort

0

Gleiche Frage gepostet von Sie vor zwei Monaten und jetzt wieder buchen Sie das Link to your question.

Und nebenbei ist die Antwort auf Ihre Frage auch schon auf Stackoverflow bereitgestellt worden.

Aber wieder poste ich den Code für Sie. Und nur mit Ihrem Code bekomme ich das gewünschte Ergebnis in Python 2.7.

import urllib 
import json as m_json 

for x in range(3, 5): 
    query = 'x mile run' 
    query = urllib.urlencode ({ 'q' : query }) 
    response = urllib.urlopen ('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&' + query).read() 
    json = m_json.loads (response) 
    results = json [ 'responseData' ] [ 'results' ] 
    for result in results: 
     title = result['title'] 
     url = result['url'] 
     print (title + '; ' + url) 
Verwandte Themen