使用Google搜索引擎通过网络搜索是互联网用户的事实上的标准。 Google提供基本或advanced form来为其搜索引擎准备查询字符串。假设对不使用Web表单感兴趣,可以使用根据搜索条件构造的查询字符串对特定URL执行HTTP get请求。
例如,我可以通过在以下位置执行HTTP请求来搜索带有“ hello ”字样的结果:
http://www.google.com/search?q=hello
我可以添加另一个词,例如“ world ”,如下:
http://www.google.com/search?q=hello+world
你知道,通过指定好的参数,搜索可能会更复杂:
如何修改查询字符串以考虑上述搜索参数?
答案 0 :(得分:4)
我仔细检查了Pratik Chowdhury和Robbie Vercammen的答案。它们提供了指向Web文档的链接,这些文档报告了可在Google搜索表单中使用的可能的文本过滤列表。尽管这很有趣,但它们并未提供问题的答案。因此,我研究了很多问题,并找到了以下解决方案。
假设您需要将 una tantum HTTP调用(例如,通过CRON每月运行一次的PHP类)调用到Google搜索,以便检索特定字符串查询的搜索结果,例如在您的网站上有一些单词(即“你好”和“世界”)的所有页面(即 mywebsite.com ),然后你可以对以下地址进行HTTP调用:
http://www.google.com/search?q=hello+world+site:mywebsite.com
q
参数可以包含整个搜索查询,但Google定义了虚拟证明参数列表。
请注意,AND
运算符可以由as_q
参数代表。
要在“hello”和“world”(即OR)之间获取一个页面结果,必须将查询“q”参数更改为:
q=hello+OR+world
虽然更紧凑的表示使用as_oq
参数:
as_oq=hello+world
如果查找完整的短语“hello world”,q
参数为:
q="hello+world"
同时,另一个紧凑表示使用as_epq
参数:
as_epq=hello+world
如果查找不包含“hello”和“world”字样的所有结果,q
参数为:
q=-hello+-world
同时,另一个紧凑表示使用as_eq
参数:
as_eq=hello+world
当然,as_q
,as_oq
,as_epq
,as_eq
等可以照常组合在一个唯一的搜索查询中(即使用{{1字符)。因此,例如,我可以在“编程”和“代码”之间搜索“hello”和“word”两个词,如下所示:
&
可以搜索特定域(同样, mydomain.com ),如下所示:
q=hello+world&as_oq=programming+code
但是,如果要排除特定域(例如,因为它是垃圾邮件源),则必须重复使用标准表示法。 E.g:
as_sitesearch=mydomain.com
返回所有不在网站 mydomain.com 中的“hello”字样的网页。
获取特定文件类型,例如pdf,您可以使用q=hello+-site:mydomain.com
:
as_filetype
可以使用更复杂的搜索参数,如Google support docs中所提供。
例如,要获得具有单词同义词的结果,只需在单词前面使用as_filetype=pdf
运算符,例如
~
此外,如果您想使用通配符,例如要获得以“hello”开头并以“world”结尾的所有确切短语,您应该使用q=~hello
运算符:
*
这可能会回归:“向世界问好”和“你好甜蜜的世界”。
还可以使用以下关键字在页面标题或页面网址中搜索特定字词(有关详细信息,请阅读here):
例如,以下内容返回所有页面s.a. “hello”和“world”这两个词都在网址中:
q="hello+*+world"
对于Google GUI页面的语言(不是其中一个结果),必须在查询字符串中插入语言字符串(例如,英语为q=allinurl:hello+world
,法语为en
,{{ 1}}对于意大利语等)fr
参数。换句话说,如果使用英文版Google进行一次搜索,则查询字符串将变为如下:
it
选择特定语言,例如意大利语,使用hl
查询参数:
http://www.google.com/search?hl=en&q=hello+world+site:mywebsite.com
还可以使用lr
参数选择在特定地理区域中发布的网页。例如,找到在意大利发表的所有页面:
lr=lang_it
答案 1 :(得分:2)
Advangle是一项不错的免费服务,您可以直观地构建网络搜索查询,并获取查询字符串(或Google和Bing的网址)作为结果。
答案 2 :(得分:2)
要创建复杂的and
/ or
个查询,您可以使用()
和OR
。
例如,如果我们要搜索
("tschakk buff" AND "boom bang") OR ("zata tong" AND "zong klirr")
查询如下所示:
https://www.google.com/search?q=("tschakk%20buff"%20"boom%20bang")%20OR%20("zata%20tong"%20"zong%20klirr")
答案 3 :(得分:1)
虽然这本书的标题看起来很危险,但无论如何,如果你不滥用它,它会回答你所有的问题。
这本书的名字是MichałPiotrowski的一本hackin9杂志的“Dangerous Google - Seising for Segerous”。
祝你好运
答案 4 :(得分:1)
如果您尝试在使用之前手动键入网址来组合自己的网址,则此网站应该会有所帮助:http://www.googleguide.com/advanced_operators.html