【问题标题】:Python google search explicit phrasePython google 搜索显式短语
【发布时间】:2011-09-25 20:46:05
【问题描述】:

我正在尝试使用此处描述的非常好的功能 (A Martelli) 使用 AJAX 界面定义谷歌搜索 Google Search from a Python App

........
query = urllib.urlencode({'q': searchfor}) 
....

如果我定义变量searchfor = "big car",生成的查询是big+car。但是我想生成查询“big car”(这两个词一起出现)。

Q1)也就是说,我想在我的查询中定义一个明确的短语(在谷歌中我会在双引号内输入“短语”)。

Q2) 如何定义包含某个术语的查询。 (在谷歌你输入“-”号)。

【问题讨论】:

  • 查看调用的google URL,查询单词和字符串的区别是:q=big+carq=%22big+car%22。因此,也许您应该尝试查询带引号的字符串 '"big car"' (单与内双)。编码时,这会产生观察到的查询。未经测试,所以我不把它写成答案。
  • 对于第二个问题,您应该尝试searchfor = "big -car" 它也会生成预期的查询q=big+-car
  • 感谢您澄清我应该使用与谷歌查询 UI 中使用的相同格式的答案。有用!我很困惑,因为当我运行函数 showsome('"big car"') 时,我只有 183000 次点击。当我使用谷歌网页时,我获得了 300 万次点击(id=resultStats>大约 3,080,000 个结果)。我猜“showsome”功能只是计算 4 个网页的点击次数。我怎么能得到总数....我只对总数感兴趣..没有别的。

标签: python


【解决方案1】:

1) 在搜索字符串searchfor = '"big car"' 中加上引号。您还可以使用双引号定义字符串并转义双引号字符:searchfor = "\"big car\""。有关 Python 中字符串文字的信息,请参阅 Googles Python class

需要说明的是,+ 是 urlencoded 空格字符,当 Google 检索到它时,它将被解释为纯空格。带有引号的 urlencoded 查询将是 q=%22big+car%22,其中 %22 是双引号。

urllib.urlencode 将正确编码字符串以在 URL 中提交。

2) 只需使用与正常使用 Google 时相同的语法即可。 searchfor = '"big car" -hummer'

【讨论】:

  • 为了正常使用谷歌搜索完整的短语,我现在必须添加“allintext:”前缀。我应该在 Python 中添加它吗?
猜你喜欢
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 2012-02-21
  • 2012-10-29
  • 2016-03-31
相关资源
最近更新 更多