Python 谷歌搜索明确短语
我正在尝试使用AJAX接口来定义一个谷歌搜索,参考了这里提到的一个很不错的功能(A Martelli)从Python应用进行谷歌搜索
........
query = urllib.urlencode({'q': searchfor})
....
如果我定义变量 searchfor = "big car"
,生成的查询是 big+car。但我想生成的查询是 "big car"(这两个词要一起出现)。
问题1)也就是说,我想在查询中明确指定一个短语(在谷歌中,我会把这个“短语”放在双引号里)。
问题2)我该如何定义一个查询,排除某个特定的词。(在谷歌中,你可以输入“-”符号来排除)。
1 个回答
3
1) 在你要搜索的字符串中加上引号,比如说 searchfor = '"big car"'
。你也可以用双引号来定义字符串,并且需要对双引号进行转义:searchfor = "\"big car\""
。想了解更多关于Python中字符串的知识,可以查看Google的Python课程。
为了让大家更明白,+号代表的是URL编码后的空格字符,当Google获取这个内容时,它会被当作普通的空格来处理。带引号的URL编码查询会是 q=%22big+car%22
,其中 %22
就是双引号的编码。
urllib.urlencode
会把这个字符串正确编码,以便可以放在URL中提交。
2) 只需使用和你平常在Google上搜索时一样的语法。比如说 searchfor = '"big car" -hummer'
。