globr 的主旨是让国内用户可以纯净、快速、有效的获取 google 搜索数据。
globr 分为 globr-api 和 globr-clt , clt 也就是 client , api 是一个 java 实现的 RestFul WebService 。
目前 clt 端只实现了一个 nodejs 的版本,项目名为 : "globr-nodejs-clt",这个项目是昨天突然的想法开始的,由于很紧凑,代码写得不是很规范,页面也是比较随意 没有注重细节。所以暂时就不公布 git 仓库地址了(怕丢人,确实写得很渣)。
现在 api 端运行在一台日本的主机上, nodejs 的 clt 端运行在 BAE 上。大家可以玩玩。
地址是 : http://globrv.duapp.com
.... 低调点 我在 BAE 上还有备案在审核呢。。。。
这个项目仅供个人学习和娱乐,仅仅提供了谷歌的结果 但是不提供结果的任何形式的代理获取,例如你搜索到了一个 youtube 的条目,你点击进去,如果你无法访问 youtube ,那么仍然无法访问的。
结果页面条目是真实链接 target = _blank 跳转,没有谷歌重定向!
1
HentaiMew OP 对了,谷歌的结果页面,有些关键字会涉及到图片,"image for google"的条目。由于图片地址国内是无法直接访问到的,没有代理的朋友页面上该条目将都是坏图片,所以我干脆把图片结果给去掉了。
|
2
sparkrat 2015-08-23 14:06:55 +08:00
赞一个,,虽然我有梯子.....这想法很新颖,不过似乎不能从根本上解决问题呢?
楼主加油.最后还是弱弱的说一句, 搭梯子大法好. |
3
HentaiMew OP @sparkrat 梯子或者其他代理方式真的好?
代理网络或者反代谷歌都是让用户直接访问海外服务器,很多地区网络封锁或者出口原因,丢包很高,速度很慢。而且相对的服务器的压力和流量输出都会比较高。 而这个的区别就是,你是直接访问的运行在 BAE 上的应用,百度服务器。无论哪里速度基本都非常快。 连接海外服务器的只有一个点,那就是百度的服务器,并不会分散到各个地区的用户网络上。 海外服务器的数据获取封装成了 RestFul API ,每个请求传输数据不过几 KB 级别的,再加上一般 IDCj 机房网络对海外访问都比较友好(所以有些飞机提供商还用国内服务器做流量中转),所以让百度的服务器去访问海外主机,我觉得是很明智的。(虽然只是玩玩.... ) 当然梯子还是必备的.... 不然搜索出来的很多国外结果没什么用,访问依然卡死你。用谷歌不就主要是搜索老外的资料么。哈哈 |
4
feijilei 2015-08-23 14:20:06 +08:00 1
www.gugesou.com 一直都用这个
|
5
HentaiMew OP 楼上就是一个谷歌的反代←_←
|
6
oott123 2015-08-23 14:38:10 +08:00 via Android
用 Google 的一大好处就是它可以根据你的历史点击和搜索记录提供个性化的结果。
|
9
zonghua 2015-08-23 15:48:51 +08:00
是构造模拟登陆吗?然后解析的数据返回来?
|
10
flowfire 2015-08-23 16:12:52 +08:00 via iPhone
用的 Google search api ?
我用谷歌还有一个很重要的一点是因为他比百度好看。。。。 |
11
HentaiMew OP @flowfire 并不是 api , api 有此数限制,我是抓取的搜索结果,解析 dom ,封装成 JavaBean 做成自己的 api 然后给 clt 端的 nodejs 使用
|
13
Kokororin 2015-08-23 18:12:03 +08:00
之前也写过一个和楼主类似的。。
地址: https://niconiconi.science/ |
16
HentaiMew OP @Kokororin 然而上海用户表示 linode 已死,直接性的 ping 不通。所以我才要暴露成 api 让百度的服务器去访问。这样就不会因为用户网络原因造成访问问题了
|
18
magicdawn 2015-08-23 18:56:44 +08:00
|
19
HentaiMew OP @magicdawn 这个 heroku 看起来不错 有免费的而且还是 521m 内存 不过居然 24 小时以内必须休眠 1/4 的时间。。。 持续超过 18 小时未休眠 会怎样?暂时无法访问吗?
|
20
orangleliu 2015-08-23 19:08:08 +08:00
搜中文都是日语的 。。
|
21
HentaiMew OP @orangleliu 啊 其实我也注意到了 , 谷歌根据 ip 选择了结果语言,其实我是用 hl=en 当作语言参数的,应该是更偏向英文结果。但是谷歌没理会那个参数。有时间再研究研究,可能在请求里面加个语言 header 更好吧
|
22
googlefans 2015-08-23 19:44:10 +08:00
这个有什么用呢?
|
23
welly 2015-08-23 20:13:40 +08:00 via iPhone
这个挺好!楼主加油。
|
24
xiao201261 2015-08-23 20:15:56 +08:00
wen.lu 大法好
|
26
magicdawn 2015-08-23 21:00:58 +08:00
API 我可以用么
|
27
gezehua 2015-08-23 21:17:14 +08:00
@feijilei 我用这个 https://guge.io/
|
28
Imivan 2015-08-23 21:17:35 +08:00
为毛不设反代,这样感觉多余啊。
|
30
HentaiMew OP @magicdawn 当然可以 待我明天晚上公布出来。目前搜索结果单个条目包括,标题、内容、真实链接、域名、相关搜索列表等等 , 参数仅 关键字和页码
|
32
aofall 2015-08-23 23:16:56 +08:00 via iPhone
BAE 的速度并不是很好,建议去掉背景图片
|
34
HentaiMew OP @orangleliu 搜索结果已经中文化了,欢迎使用 。 我个人感觉还行。想要的基本都能出来。
|
35
HentaiMew OP @aofall .... 你那边加载这张图 : http://globrv.duapp.com/resources/img/dandelion.jpg
Ctrl+F5 一下, 试试要多久。 我这边是秒加载啊 基本看不到图的加载过程。 |
37
Kokororin 2015-08-24 08:52:05 +08:00
@HentaiMew hl=en-US 确实没用 我的做法是在 header 中加入 Cookie: PREF=ID=fef74816681e7898:U=9ea73b7f54aa9005:FF=2:LD=en-US:NW=1:TM=1295952619:LM=1296005167:S=Dk6Hp_5SDKZ3OhJy; google 是依据 cookie 来判断的
|
38
BGLL 2015-08-24 09:01:14 +08:00
看背景看瞎了,,,
|
40
magicdawn 2015-08-24 10:02:51 +08:00
@yicun 下载好 heroku toolkit, 在命令行登录, 然后设置好 git 地址, 每次 push 的时候是自动部署的~
|
41
scarlex 2015-08-24 10:25:23 +08:00
强烈要球更换背景图!
|
42
coolicer 2015-08-24 10:56:38 +08:00
亮瞎狗眼
|
43
aofall 2015-08-24 11:22:22 +08:00
@HentaiMew
321KB 的图片,我加载了 15.24S ,建议把 CSS 、 JS 放在七牛云存储之类的地方,加载实在痛苦 jQuery 的话可以用 百度的公共库 http://libs.baidu.com/jquery/2.1.4/jquery.min.js M$的公共库 http://ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js 以及............求!换!壁!纸! |
44
HentaiMew OP @aofall 你边的网络环境访问 BAE 太糟糕了... 我这边非常快。所以为了照顾类似你那种网络环境的用户。我特意把图片换成了 SVG ,哈哈。已经没有壁纸了。
|
45
jiongxiaobu 2015-08-24 11:34:33 +08:00 via Android
背景已看瞎
|
46
HentaiMew OP @scarlex 还是不要了,这背景我看着真心舒服。我已经弄成我的 chrome 新标签页了。时不时就看个标签页也不上网就盯着几十分钟,治好了我的浑身难受。
|
47
wwek 2015-08-24 11:50:54 +08:00
不带 https 等着被封
|
49
leqoqo 2015-08-24 14:54:26 +08:00
这背景图片 立马关闭 哈哈
|
50
doublleft 2015-08-24 18:16:18 +08:00
你知道啥叫光敏感性癫痫吗草你吗
|
51
doublleft 2015-08-24 18:16:49 +08:00
差点一口吐键盘上
|
53
egrcc 2015-08-24 19:56:57 +08:00
期待楼主公布 api ,或者开源一下实现方案也好啊
|
54
egrcc 2015-08-24 19:59:00 +08:00
@magicdawn 能请教一下 http://google.magicdawn.ml/ 是怎么实现的吗
|
56
magicdawn 2015-08-24 21:25:21 +08:00
@HentaiMew @egrcc
不是反代, 跟你的差不多吧, 我这边上次偷懒, 直接把 html pipe 过来 代码在 https://github.com/magicdawn/my-google 没时间修改,请轻拍~ 后面请求的是 一个 google server https://github.com/magicdawn/my-google/blob/master/lib%2Fgoogle.js#L19 |
59
HentaiMew OP @magicdawn
@egrcc api 地址: http://globr-api.bluerain.io 展开搜索 API ,就是了。可以在线 try ,来观察返回结构。其实可以写注释的,但是我懒得写了,结构很简单一眼就能看明白。 "relatedKeys",这个里面是相关搜索的关键字。在我目前的 clt 端其实没有用到。 |
62
magicdawn 2015-08-25 07:42:16 +08:00
@yicun 最上面被窝用 css 隐藏掉了 https://github.com/magicdawn/my-google/blob/master/public%2Fcss-src%2Fsearch.less#L4
其他的真是未加载到~直接把 google 返回的 html 给客户端, html 会引用不知做甚的 js~真是烦呢 |
63
messyidea 2015-08-25 09:06:45 +08:00
搜索界面的壁纸好赞~
|
65
HentaiMew OP @egrcc 真的非常抱歉,你截图的就是文档。但是昨晚我把项目迁移到 heroku 上去了。一些本地开发的代码被部署了。其实你可以看到, api-docks 哪里的 url 是 localhost 的....访问的是你本地所以加载不出来,有时间我注释掉本地代码重新部署下。
核心的搜索 api 就是: http://globr-api.bluerain.io/api/search?keyword=v2ex&pagNum=2 keyword 后面是关键字, pagNum 是页码(没有这个参数默认第一页) |
66
egrcc 2015-08-28 20:50:48 +08:00
@HentaiMew 试了下, api 可以用,不知道能否授权我在此项目中使用你的 api : https://github.com/egrcc/xunmi_android
|
67
HentaiMew OP @egrcc 哈哈 很赞 我平时业余也玩安卓的开发 但是从来没做一个像样的作品出来。
这个主域名的文档 url 被我改过来了: http://globr-api.bluerain.io 可以在线 try ,以后可能开发新的 api api 随便用,希望你做得更好! |
70
cffcaa 2015-08-29 09:34:03 +08:00
刚看到时速度是快,加入搜索列表一天就挂了,也要表示 感谢下,
|