2016-11-10 2 views
1

Ich möchte etwas Code machen, der Text in einem Web eingeben kann; in der Webseite http://www.dictionary.com/ ein Wort nachschlagen. Der Code, den ich fand, war die folgende (Ich verwende Python 3.5):Suche in einem Web mit Python 3.5

import urllib.request 
import urllib.parse 

value= {'q', 'something'} 
value= urllib.parse.urlencode(value) 
value= value.encode('utf-8') 
f= urllib.request.Request('http://www.dictionary.com/', value) 
g= urllib.request.urlopen(f) 
print(g.geturl()) 

jedoch print(g.geturl()) druckt http://www.dictionary.com/, die gleiche Verbindung, die ich am Anfang hatte. Ich möchte, dass etwas in der Suchleiste gesucht wird.

Antwort

0

geturl() gibt einfach die URL der Seite zurück, Sie müssen read() Funktion verwenden.

print(g.read()) 
+0

ich immer noch die gleiche Web-Seite bekommen. Ich möchte, dass das Objekt g auf die folgende Seite zeigt: "http://www.dictionary.com/browse/something?s=t", was der Suche nach "etwas" im Wörterbuch entspricht. – marlasca23

+0

in dem Link, den Sie hier gepostet haben, gibt es __/browse/__, das nicht in dem ursprünglichen Code vorhanden ist, den Sie gepostet haben. Vielleicht ist das das Problem? –

+0

Ich glaube nicht, dass ich mich richtig ausgedrückt habe. Mit Python möchte ich "etwas" im Wörterbuch suchen. Also würde ich in dem Link http://www.dictionary.com/ anfangen und zu http://www.dictionary.com/browse/something?s=t%22 – marlasca23

0

Die URL-Struktur ist so etwas zum Beispiel

  baseUrl     + searchTerm 
"http://www.dictionary.com/browse/ + "something" 

Der folgende Code kann Ihnen helfen, das tun

import requests 
value = "something" 
res = requests.request(method="GET",url="http://www.dictionary.com/browse/" + value) 
print res.content 
+0

kommen. Gibt es eine Möglichkeit, das Wort tatsächlich einzugeben? der Browser? – marlasca23

+0

Wenn Sie das Wort eingeben möchten .. mit Headless-Browser ist der Weg zu gehen ... Check-out Python Selen-Bibliothek, um das zu tun –

+0

Was möchten Sie tun, nachdem Eingabe und senden Anfrage ?? –