对于个人来说,Google相比百度更能满足我的查询需求。除了Google在商业化上比百度来的克制,在内容呈现上也不会向百度那样尽可能的将流量导入到自家旗下的网站。Google搜索的目标是让用户在Google的停留时间尽可能的短,而百度追求的是让用户在百度及百度旗下网站的时间尽可能的长(最大化的追求商业利益),两者初衷的不一致导致的结果也会大相径庭。
GOOGLE搜索的两种方式
- 一种是高级搜索,直接访问Google高级搜索,然后通过一些过滤字词,得到所需要的谷歌搜索结果。如果觉得麻烦,可以直接进行URL链接设置搜索参数。两种任选其一。这种方法一般是用来选定所在的国家站点,设置一些简单搜索命令的。
- 一种是使用特定的搜索指令搜索,用来搜索特定的内容,有时候多重复杂的查询关键词必须要用GOOGLE搜索框指令来完成。
Google搜索的URL参数
在使用Google搜索引擎时,我们的客户端浏览器会向Google发送一个简单的HTTP请求,Google搜索请求是标准的HTTP GET命令,它包括与您的查询相关的参数集合。URL参数(也称为“查询字符串”),是URL跟在?后面的部分,URL参数由一个键和一个值对组成,以name=value(参数名=参数值)对的形式包含在请求URL中,多个参数则由&符号连接。URL参数根其用途可分为不同类型,例如搜索参数,排序参数,追踪参数,过滤参数,分页参数,等等。比如下面的搜索URL:
https://www.google.com/search?q=biaodianfu&hl=zh-CN&sxsrf=ALiCzsZoXJYte-cBG5-x-kPvMh0_yT_2LA%3A1662094952590&source=hp&ei=aI4RY6fFIY3Q-QbOsKWYBQ&iflsig=AJiK0e8AAAAAYxGceJmvcljx1rN_RuVvo_zNZJty4qGt&ved=0ahUKEwinmeuZqvX5AhUNaN4KHU5YCVMQ4dUDCAc&uact=5&oq=biaodianfu&gs_lcp=Cgdnd3Mtd2l6EAMyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEOgcIIxDqAhAnOgQIIxAnOgoILhDHARDRAxBDOgsILhCABBDHARDRAzoECAAQQzoFCC4QgAQ6DgguEIAEEMcBENEDENQCUPIJWNQSYKcXaAFwAHgAgAH4AYgBihCSAQUwLjQuNpgBAKABAbABCg&sclient=gws-wiz
在向Google搜索引擎发出的搜索请求URL中,可以用于自定义搜索查询的一些常见的基础/高级请求参数有:
- q:最基本的Google搜索参数,默认返回的搜索结果中包含所有的搜索关键词。
- num:指定在SERP一页内显示的搜索结果的数量。也可以直接在Google Search Settings那里设置。Google默认每页显示10个结果,每页最多显示100个结果,所以搜索参数num后面的参数值取值区间在10-100。
- start:搜索结果的起始索引,指定应包含在搜索结果中的第一个匹配结果,start参数从0开始计算,第一个结果为0,第二个结果为1,依此类推,即假如start=2,则从第3个搜索结果开始显示。另外,Google最多只显示1000个搜索结果,所以start参数理论取值范围在0–999之间。
- pws:启用/禁用Google个性化搜索,pws参数值设置为1则启用个性化搜索,设置为0则禁用。Google会综合考虑用户的搜索历史,搜索习惯,当前IP地理位置等其他因素来返回更有针对性的个性化搜索结果。
- cr:cr即country restrict(国家限制),指定搜索结果为特定国家/地区的网站/网页。例如设置cr=countryFR,那么搜索结果只会显示来自法国的网站/网页。Google主要通过分析网站URL的顶级域(TLD)以及Web服务器IP地址的地理位置来确定网站所在的国家/地区。一些常见国家对应的cr查询参数如:中国countryCN,美国countryUS。
- gl:模拟从当地搜索,可以提升针对特定国家/地区搜索结果的相关性。gl参数值是两个字母的国家代码,一些常见国家对应的gl查询参数如下所示:中国cn,美国us。
- lr:lr即language restrict,指定搜索结果为某种语言的网站/网页。Google会通过分析以下内容来判定页面语言:页面URL的顶级域(TLD)、页面的语言元标记、页面正文中使用的主要语言、页面正文中使用的辅助语言(如果有)。一些常见语言对应的lr查询参数如下:简体中文lang_zh-CN、繁体中文lang_zh-TW。
- hl:hl即host language(界面语言),指定Google Search的用户界面(UI)语言。Google支持80多种语言,默认Google Search的界面语言为英语。一些常见的Google支持的界面语言对应的hl查询参数如下所示:简体中文zh-CN,繁体中文zh-TW
- as_q(Ascending Search Query):上一次查询关键词
- as_qdr:在一个至今一天的时间范围内搜索。使用y表示年,m为一个月,W为一周,d为天,h表示小时,n为分和s为秒。如果你想要大于一的,按照以上的字母加上数字就好了。例如,“m3”为3个月,“H5”是5小时。只希望看到的最新鲜的结果,就像在过去的5分钟?指定“n5”。如果你想寻找之前结束至今的一个日期范围,使用日期范围的运算符或使用“自定义范围”下的在谷歌SERP左侧侧边栏的链接“更多搜索选项”。
- as_rights:结果限制为可重复使用的(创作共用许可)的内容。这可能是一个来自高级的搜索屏幕更直接的行为,但如果你喜欢冒险,cc_publicdomain是公共领域,cc_attribute是重新归属与可用,cc_sharealike意味着你需要提供创作共用许可下的衍生作品1,cc_nonderived意味着没有允许的衍生作品,并cc_noncommercial意味着非商业用途。您可以使用括号、管道符号(|)和和减号把这些合成组,来排除某些商业上有限制牌照许可证类型。例如,(cc_publicdomain|cc_attribute|cc_sharealike).-(cc_noncommercial|cc_nonderived)等同于“免费使用,共享或修改,甚至商业上。”以上不会有这些(他们只是增加了可读性)。
- as_epq:相当于Google搜索运算符””,搜索结果必须完全匹配后面的参数值内容。例如:as_epq=gold+stud+earrings
- as_eq:相当于Google搜索运算符-,搜索结果不包含后面的参数值内容。例如:q=hoop+earrings&as_eq=amazon
- as_filetype:相当于Google搜索指令filetype:,指定搜索结果为某种格式的网页文件。例如:q=SEO+tutorial&as_filetype=pdf
- as_ft:as_ft=i/e包含、不包含某种文件格式
- as_nlo:as_nlo=以及as_nhi制定搜索词数字范围,例如:as_nlo=7&as_nhi=9就相当于在搜索框中输入“.9“
- as_occt:as_occt=出现搜索关键词的位置(可选值包括:any/body/url/title等)
- as_dt:as_dt=包括、不包括某个域名(i/e)
- as_sitesearch:相当于Google搜索指令site:,指定搜索来自特定的域,网址或域名后缀的结果。例如:q=stud+earrings&as_sitesearch=amazon.com
- filter:包括把那些因为和已有结果很相似而被Google省略的listing到搜索结果里面,即是否隐藏重复的结果。
- oe:OutputEncoding 搜索结果页面的网页编码,缺省设置 oe=utf-8
- safe:切换或关闭谷歌的安全搜索过滤,价值观是积极的可以关闭。safe=strict(安全严格的)
- newwindow:是否开启新窗口以显示查询结果,缺省设置 newwindow=1,在新窗口打开搜索结果页面
- aq (AscendingQuery):判断搜索用户是否是第一次查询,如果用户第一次进行查询,则 aq=f(First);如若进行过多次查询,则 aq=-1,这个的主要作用应该是统计和防止作弊
- strip:仅适用于谷歌的缓存页面。添加 &strip=1 到谷歌缓存的 URL 会导致缓存页面没有显示图像,Javascripts 等。这意味着在访问网站的分析中,你没有留下任何浏览量踪迹。
- imgtype:仅在谷歌图片起效。选项包括脸,照片,剪贴画,lineart 和新闻。
- btnG:正常搜索。(submit)
- btnI:手气不错,不显示搜索结果页列表,直接跳转到第一个搜索页面。(submit)
- tbs:设置搜索页面的时间范围。qdr:d-过去 1 天,qdr:h-过去 1 小时,qdr:n-过去 1 分钟,qdr:s-过去 1 秒钟,可在时间参数后加入数字,例如 qdr:n30 为过去 30 分钟。
- tbm:设置搜索类型,如 tbm=isch 为谷歌图片搜索,tbm=vid 为谷歌视频搜索。
- source:source=来源类型(如果使用 Google 工具条搜索,将出现这一部分内容,例如 ie7,opera,navclient,navclient-ff-navclient)
- client:client=和 sourceid 类似(例如:safari,firefox-a)
- rls:rls=客户端版本、语言(例如:rls=GGLD,GGLD:2003-35,GGLD:en 就是 Google Desktop 的 URL 部分)
ie:InputEncoding 查询关键词的编码,缺省设置为 utf-8,也就是说请求 Google 搜索时参数 q 的值是一段 utf-8 编码的文字。
Google 搜索框常用指令
逻辑关系
GOOGLE 搜索指令有三种基本逻辑关系运算:与、或、非,所有的指令和符号都是英文状态下,另外冒号后边不要有空格
- 与(AND):代表同时包含两个关键词,AND 简写指令一般以空格代替,不明确写出。另外 AND 指令还可以用 + 代替。例如:A AND B(中间有空格)
- 或(OR):代表既可以又可以,或者两者都包括。OR 简写指令可用 | 代替。例如:A OR B(中间有空格)
- 逻辑非:-代表排除减号后面的内容,减号的命令可以多个连续使用,Google 和百度都支持这个指令。(注意减号是在英文状态下的打的,后面直接加需要排除的关键词,没有空格)
注意:
- AND、OR 逻辑语必须大写,否则会被认为是普通的单词,而不是搜索指令。
- 如果搜索 ABC,出来 ACB 的结果,说明可能语序错误了,要改正语序进行正确的搜索,一般非母语会出现这种问题。
- 与普通编程语言不一样的是,OR 指令优先于 AND 指令。样例:Inverted OR Signature files OR file OR index,它等同于 (Inverted OR Signature)(files OR file OR index)
匹配关系
通配符:* ?
星号(*)或(?)做为预留位置字符,如果搭配引号使用可以搜索精确词组的不同变化,或词组中间的字词。
- “*”代表一连串字符,叫做占位符,在字词或短语中您要放置占位符的地方加上,百度不支持 * 号搜索指令。例如:largest * in the world
- “?”代表单个字符。例如:progr?m(不要指望 Google 可用通过 progr?m 搜索到 program,因为 progr 和 m 分别被当作一个独立的单词,并且这两个单词之间允许出现一个字符,如此而已。)
完整匹配:”…”
使用英文状态下的双引号 “” 代表关键词完全匹配,即搜索引擎把双引号中的关键词看成了是一个词而且顺序不变。此选项可用于搜索歌词或文学作品中的一段文字。而泛搜索都是分散开的。百度和 Google 都支持这个指令。例如:“死了都要爱”(注意:双引号关键词匹配出来的结果不只是在标题中,它还会可能会出现在描述或者 URL 中。)
近义词
~结果中包含查询的短语以及它的同义词。例如:~mobile phone搜索数值范围
用不加空格的两个半角句号(..)隔开两个数字可查看包含日期、价格和尺寸等指定度量范围内数值的搜索结果。例如:数码相机 600..900 万像素 3000..4000 元。注意:“900”与“万”之间必须有空格。仅使用一个数字和两个半角句号可表示上限或下限。
IN 指令
可以指定查询关键词位置进行更精准的查询,比如关键词只出现在标题中,或者只出现在 URL 或描述正文中。
- intitle:在网页标题中查找。这通常对讨论比较多的热门话题很有用,也适合了解竞争对手,如果关键词只出现在页面可见文字中,而没有出现在 title 中,大部分情况是并没有针对关键词进行优化,所以也不是有力的竞争对手。Google 和百度都支持 intitle 指令。例如:[cooltechdoll intitle:help],Google 会返回在网页标题包含了查询关键字”help”,而在其它网页的任何地方包含了查询关键字”cooltech”和”doll”的网页。(intitle:后面也不能有空格)
- allintitle:搜索返回的是页面标题中包含多组关键词的网页。该指令属于 intitle 排他指令。例如:allintitle:面料测试就相当于:intitle:面料 intitle:测试(返回的是标题中既包含“面料”,也包含“测试”的页面,如果是空格长关键词,为了精准,可以在查询关键上加双引号)
- inurl:Google 会返回那些在 URL(网址)里边包含了查询的关键词的网页。由于关键词出现在 url 中对排名有一定影响,此命令可以更准确地找到竞争对手。注意链接的查询词要连写,不要断开。很多 SEO 人员认为 GOV 和学校网站有比较高的权重,找到相关的 GOV 和学校网站,就找到了最好的链接资源。inurl 指令支持中文和英文,百度和 Google 都支持 inurl 指令,注意 URL 里的中文容易出错,最好都是用英文做的。例如:inurl:gov 减肥,返回的就是 url 中包含 gov,页面中有“减肥”这个词的页面。
- allinurl:搜索返回的是 url 中包含多组关键词的网页。该指令属于 inurl 排他指令,与 allintitle 一样,不多赘述。例如:allinurl:http://gov.cn links 这个指令返回的是 url 中包含 http://gov.cn 以及 links 的页面,也就是 GOV 域名上的交换链接页面
- inanchor:指令返回的结果是导入链接锚文字中包含搜索词的所有内外页面。外部用于指向该 url 地址的文本中找,可以用来找到某个关键词的竞争对手,研究竞争对手页面有哪些外部链接,就可以找到很多链接资源。百度不支持此命令。例如:inanchor:点击这里,返回的结果页面本身并不一定包含“点击这里”这四个字,而是指向这些页面的链接锚文字中出现了“点击这里”这四个字。
- allinanchor:搜索返回的是锚文本中包含多组关键词的网页。该指令属于排他指令。与 allintitle 一样,不多赘述。
- intext:查询所有出现在正文中的查询关键词的网页,一般组合搜索才用。
- allintext:intext 的排他指令。
- insubject:比如于 SITE 命令联合使用的时候,Google 会仅仅显示在网站的主题里包含了查询关键词的网页。
站点相关
info:域名
可以得到网站的一些信息link:网站
指向网站的外链,这个指令只针对小部分网站才能起作用了。这个命令将得到所有跟搜索的网站做了链接的其他网站。最重要的用途是可以判断一个网页的“热度”。(link 是个单独的语法,只能单独使用,且后面不能跟查询关键词,只能跟 URL),通过这个可以看到做了哪些外链,更甚看到你的文章被谁转载了,谁采集了。
site:网站或域名
搜索某个网站或者特定域里的所有页面。related:网站
搜索相关网站,一般认为指的是有共同外部链接的网站。只能单独使用,组合无效。
cache:网址
查看网站的 Google 缓存版本 Google 会返回所有抓取的关于查询网页的快照信息。在显示的网页快照信息里边,Google 会高亮显示查询关键词。(在 cache: 和 URL 之间不能有空格)
其他小窍门
- 计算:输入数学公式(例如 3*9, 5+2)。
- 定义:在任意字词前加上 define,然后得到这个词的定义
- 计算器:输入 Calculator(或计算器)。
- 颜色选择器:输入 Color Picker(或颜色选择器)。
- 搜索社交媒体:在用于搜索社交媒体的字词前加上 @ 例子:@twitter
- author: 当我们用 author 进行查询的时候,可以配合特定的网址命令,这样该论坛里包含了特定作者的新闻文章都会展示出来。但是你也可以单独输入作者名字,作者名可以是全名,也可以是一部分或邮件地址。author:cooltechdoll
- store: 例[polo shirt store:esty],提交这个查询,仅会搜索商店 esty,跟关键词”polo”“shirt”相关的结果。(只支持英文 Google),这个命令感觉不是很准。
- hostname: 用法与“site”、“domain”相同,只不过使用“hostname:”时返回的只是在当前域名下的网页,而不包括其子域名中的网页。
- weather: 后面加地区查询词,Google 会返回该地区或城市当前的天气状况。
- stocks: 后面加股票名,Google 会返回跟查询关键词相关的股票信息,这些信息一般来自于其它一些专业的财经网站。
- movie: Google 会返回跟查询关键词相关的电影信息。(当前只支持英文 Google)
- phonebook: 查询词需要指定详细的州名和地点名,Google 会返回当地跟查询关键词相关的电话信息。例如[phonebook:人名 china]
- bphonebook: 用 bphonebook 进行查询的时候,返回结果将是那些商务电话资料。
- rphonebook: 这个查询用来搜索美国当地跟查询关键词相关的住宅电话信息。
- safesearch: Google 会过滤你搜索的结果,其中过滤的内容可能包括一些 se–情的,暴力,赌博性质的,还有传染病毒的网页。但是它不是完全确保安全的。
- source: Google 查询仅是我们指定的新闻源的网址。例如[election source:new_york_times],Google 将会显示纽约时报包含了查询关键词”election”的相关文章。(我们也可以通过 Google news 高级搜索完成查询)
- alternativeto 工具: 选择替代品,选择想看其他可行性替代方案的时候,就可以用 alternativeto 查询关键词次来找看看。
- similarto 域名:查询相似网站
- filetype: 搜索某种类型的文件。比如 word, pdf(产品目录),xls(产品目录), ppt、image、jepg 等资料
个人搜索习惯
- 选择合适的搜索词,一些行业术语或专家名字可以带来更加高质量的结果。
- 搜索词手动使用空格分隔,先进行第一次搜索,看搜索结果标题是否满足预期,如果不满足,采用更换关键词,添加关键词,排除关键词的方式进行调整。
- 在搜索时刻适当的采用适当的 Google 高级指令来协助过滤搜索结果。
- 打开搜索结果页的同时 10 个页面,即时关闭用户体验差的页面。主要是为了较少自己的查找结果时间。个人经验告诉我,用户体验差的网站大部分都不会满足我的需求。我相信一定会有比它更好结果的网站出现。然后再去比较用户体验较好的那些站点结果。
- 使用 Google 图片搜索,图片搜索更加直观,一张好的图片可以带领你到一个好的页面。
為了要使用 python 爬蟲 Google 新聞,進而找到此篇文章,謝謝作者的解釋