2016-11-10 65 views
1

我想制作一些可以在网页中输入文字的代码;即在网页http://www.dictionary.com/中查找单词。我发现的代码是下面(我使用Python 3.5):使用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()) 

然而,print(g.geturl())打印http://www.dictionary.com/,相同的链接我在开头。我希望它在搜索栏中搜索“某物”。

回答

0

geturl()只需返回页面的URL,需要使用read()函数。

print(g.read()) 
+0

我仍然得到同样的网页。我希望对象g指向以下页面:“http://www.dictionary.com/browse/something?s=t”,它相当于在字典中搜索“something”。 – marlasca23

+0

您在此处发布的链接中,存在__/browse/__,这在您发布的原始代码中不存在。也许这就是问题所在? –

+0

我认为我没有正确表达自己。使用python,我想在字典中搜索'something'。所以我会从链接http://www.dictionary.com/开始,然后进入http://www.dictionary.com/browse/something?s=t%22 – marlasca23

0

的URL结构是这样的,例如

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

下面的代码可以帮助你做到这一点

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

有什么方法可以实际输入单词浏览器? – marlasca23

+0

如果你想输入单词..使用无头浏览器是要走的路...检查出蟒蛇硒库来做到这一点 –

+0

你想在输入和发送请求后做什么? –