Jea*_*ean 10 search-engine http google-search
使用Google搜索引擎通过网络搜索是互联网用户的事实标准.Google提供基本或高级表单,以便为其搜索引擎准备查询字符串.假设对不使用Web表单感兴趣,可以使用在搜索条件下构造的查询字符串简单地对特定URL执行HTTP get请求.
例如,我可以通过在以下位置执行HTTP请求来搜索带有" hello " 字样的结果:
http://www.google.com/search?q=hello
Run Code Online (Sandbox Code Playgroud)
我可以添加另一个词,例如" 世界 ",如下:
http://www.google.com/search?q=hello+world
Run Code Online (Sandbox Code Playgroud)
你知道,通过指定好的参数,搜索可能会更"复杂",例如:
如何修改查询字符串以考虑上述搜索参数?
我仔细检查了Pratik Chowdhury和Robbie Vercammen的答案。它们提供了一个指向 Web 文档的链接,这些文档报告了要在 Google 搜索表单中使用的可能的文本过滤列表。尽管这很有趣,但他们没有提供问题的答案。因此,我研究了很多问题,并找到了以下解决方案。
假设您需要对Google 搜索进行一次异常的HTTP 调用(例如,通过每月一次通过 CRON 运行的 PHP 类)以检索特定字符串查询的搜索结果,例如所有包含某些词的页面(即“ hello" 和 "world") 在您的网站(即mywebsite.com)中,然后您可以对以下地址进行 HTTP get 调用:
http://www.google.com/search?q=hello+world+site:mywebsite.com
Run Code Online (Sandbox Code Playgroud)
该q参数可以包含整个搜索查询,但 Google 定义了一个参数的虚拟证明列表。
请注意,AND运算符可以由as_q参数表示。
要获得介于“hello”和“world”(即和 OR)之间的页面结果,必须将查询“q”参数更改为:
q=hello+OR+world
Run Code Online (Sandbox Code Playgroud)
而更紧凑的表示使用as_oq参数:
as_oq=hello+world
Run Code Online (Sandbox Code Playgroud)
如果查找确切的短语“hello world”,则q参数为:
q="hello+world"
Run Code Online (Sandbox Code Playgroud)
同时,另一个紧凑的表示使用as_epq参数:
as_epq=hello+world
Run Code Online (Sandbox Code Playgroud)
如果查找所有不包含单词“hello”和“world”的结果,则q参数为:
q=-hello+-world
Run Code Online (Sandbox Code Playgroud)
同时,另一个紧凑的表示使用as_eq参数:
as_eq=hello+world
Run Code Online (Sandbox Code Playgroud)
当然,as_q, as_oq, as_epq,as_eq等可以像往常一样组合在唯一的搜索查询中(即通过使用&字符)。因此,例如,我可以搜索“hello”和“word”这两个词以及“programming”和“code”之间的一个,如下所示:
q=hello+world&as_oq=programming+code
Run Code Online (Sandbox Code Playgroud)
可以按如下方式搜索特定域(同样是mydomain.com):
as_sitesearch=mydomain.com
Run Code Online (Sandbox Code Playgroud)
但是,如果您想排除特定域(例如,因为它是垃圾邮件源),您必须重复使用标准符号。例如:
q=hello+-site:mydomain.com
Run Code Online (Sandbox Code Playgroud)
返回所有不在站点mydomain.com 中的带有“hello”字样的页面。
要获取特定文件类型,例如 pdf,您可以使用as_filetype:
as_filetype=pdf
Run Code Online (Sandbox Code Playgroud)
可以使用更复杂的搜索参数,如Google 支持文档中提供的那样。例如,要获得一个词的同义词结果,只需~在词前使用运算符,例如
q=~hello
Run Code Online (Sandbox Code Playgroud)
此外,如果您想使用通配符,例如获取所有以“hello”开头并以“world”结尾的确切短语,您应该使用*运算符:
q="hello+*+world"
Run Code Online (Sandbox Code Playgroud)
这可能会返回类似:“你好世界”和“你好甜蜜的世界”。
还可以使用以下关键字在页面标题或页面 url 中搜索特定词(阅读此处了解更多详细信息):
例如,以下返回所有页面,“hello”和“world”这两个词都在 url 中:
q=allinurl:hello+world
Run Code Online (Sandbox Code Playgroud)
对于 Google GUI 页面的语言(不是结果之一),必须将语言字符串(例如en,英语、fr法语、it意大利语等)插入查询字符串中的hl参数。换句话说,如果用英文版的谷歌搜索,查询字符串如下:
http://www.google.com/search?hl=en&q=hello+world+site:mywebsite.com
Run Code Online (Sandbox Code Playgroud)
要选择特定语言,例如意大利语,请使用lr查询参数:
lr=lang_it
Run Code Online (Sandbox Code Playgroud)
还可以使用该cr参数选择在特定地理区域发布的页面。例如,要查找在意大利发布的所有页面:
cr=countryIT
Run Code Online (Sandbox Code Playgroud)
虽然这本书的标题看起来很危险,但无论如何,如果你不滥用它,它会回答你所有的问题。
\n\n这本书的名字是《Dangerous Google \xe2\x80\x93 Searching for Secrets》,作者:Micha\xc5\x82 Piotrowski,某 hackin9 杂志出品。
\n\n祝你好运
\n| 归档时间: |
|
| 查看次数: |
9184 次 |
| 最近记录: |