无法使用webbrowser模块打开Goog​​le搜索

时间:2014-07-27 03:04:53

标签: python google-search

嘿我正在尝试按照python脚本进行简单的谷歌搜索,我在附加的视频中逐行跟踪this person's代码。问题是我的代码会打开一个新标签并将我带到谷歌主页但不执行该实际搜索。奇怪的是,搜索查询出现在URL中,但它没有做太多其他事情来确认我的搜索。任何帮助将不胜感激,谢谢。

PYTHON SCRIPT的代码

import webbrowser 
new = 2 
tabUrl = "http://google.com/?#q=";
term = raw_input("Enter search query: ");
webbrowser.open(tabUrl+term,new=new);

3 个答案:

答案 0 :(得分:2)

所以这就是问题:当你输入一个单词作为查询字符串(比如“python”)时,你的代码就可以了。但是,如果要搜索多个单词(“python webbrowser module”),则会出现问题。由于搜索词中有空格,因此URL中会有空格。一些浏览器和操作系统,比如Ubuntu 14.04上的Firefox 28(我当前的设置)会很好地处理这些空间。但是,其他人可能不会。请查看使用urllib.quote()函数将任何有问题的字符(如空格,逗号,撇号等)更改为与%20等网址转义对应的空格。

from urllib import quote
import webbrowser

new = 2 # not really necessary, may be default on most modern browsers
base_url = "http://www.google.com/?#q="
query = raw_input("Please enter your search query: ")
final_url = base_url + quote(query)
webbrowser.open(final_url, new=new)

答案 1 :(得分:0)

尝试

tabUrl = "http://google.com/?q="
没有#的

Technically在此哈希符号之后不应该有命名参数。

答案 2 :(得分:0)

尝试以下简单代码:

import webbrowser
base_url = "http://www.google.com/?#q="
query = input("Please enter your search query: ")
final_url = base_url + query.replace(" ","%20")
webbrowser.open_new(final_url)