HentaiMew
V2EX  ›  Node.js

发一个自己的作品 - globr 搜索 [java&nodejs]

  •  2
     
  •   HentaiMew · Aug 23, 2015 · 7620 views
    This topic created in 4091 days ago, the information mentioned may be changed or developed.

    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 跳转,没有谷歌重定向!

    Supplement 1  ·  Aug 25, 2015
    大家好, globr-api 公开了,地址是:

    http://globr-api.bluerain.io

    展开搜索 API 可以在线 try.支持 CORS 跨域。
    Supplement 2  ·  Aug 27, 2015
    紧急通知:
    我在 BAE 上的 clt 端应用 http://globrv.duapp.com 被百度封禁了。
    算是作了个小死 [其实我真的只是业余学习和娱乐。 玩玩而已]
    大家以后不要像我这样作死就对了,自己用用就好。还是不要公开了。
    71 replies  •  2015-08-29 09:58:44 +08:00
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    1
    对了,谷歌的结果页面,有些关键字会涉及到图片,"image for google"的条目。由于图片地址国内是无法直接访问到的,没有代理的朋友页面上该条目将都是坏图片,所以我干脆把图片结果给去掉了。
    sparkrat
    sparkrat
    Aug 23, 2015
    2
    赞一个,,虽然我有梯子.....这想法很新颖,不过似乎不能从根本上解决问题呢?
    楼主加油.最后还是弱弱的说一句, 搭梯子大法好.
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    3
    @sparkrat 梯子或者其他代理方式真的好?

    代理网络或者反代谷歌都是让用户直接访问海外服务器,很多地区网络封锁或者出口原因,丢包很高,速度很慢。而且相对的服务器的压力和流量输出都会比较高。


    而这个的区别就是,你是直接访问的运行在 BAE 上的应用,百度服务器。无论哪里速度基本都非常快。


    连接海外服务器的只有一个点,那就是百度的服务器,并不会分散到各个地区的用户网络上。


    海外服务器的数据获取封装成了 RestFul API ,每个请求传输数据不过几 KB 级别的,再加上一般 IDCj 机房网络对海外访问都比较友好(所以有些飞机提供商还用国内服务器做流量中转),所以让百度的服务器去访问海外主机,我觉得是很明智的。(虽然只是玩玩.... )

    当然梯子还是必备的.... 不然搜索出来的很多国外结果没什么用,访问依然卡死你。用谷歌不就主要是搜索老外的资料么。哈哈
    feijilei
    feijilei
    Aug 23, 2015❤️1
    4
    www.gugesou.com 一直都用这个
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    5
    楼上就是一个谷歌的反代←_←
    oott123
    oott123
    Aug 23, 2015 via Android
    6
    用 Google 的一大好处就是它可以根据你的历史点击和搜索记录提供个性化的结果。
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    7
    @oott123 我不知道能不能个性化结果。。。但是个性化广告是千真万确的.....
    breeswish
    breeswish
    Aug 23, 2015
    8
    @oott123 必应做得更绝..会根据上几次搜索进行关联搜索..
    zonghua
    zonghua
    Aug 23, 2015
    9
    是构造模拟登陆吗?然后解析的数据返回来?
    flowfire
    flowfire
    Aug 23, 2015 via iPhone
    10
    用的 Google search api ?
    我用谷歌还有一个很重要的一点是因为他比百度好看。。。。
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    11
    @flowfire 并不是 api , api 有此数限制,我是抓取的搜索结果,解析 dom ,封装成 JavaBean 做成自己的 api 然后给 clt 端的 nodejs 使用
    flowfire
    flowfire
    Aug 23, 2015
    12
    @HentaiMew 其实就是反代吧。。。
    Kokororin
    Kokororin
    Aug 23, 2015
    13
    之前也写过一个和楼主类似的。。
    地址: https://niconiconi.science/
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    14
    @Kokororin 然而并不能访问.... 你是用的海外主机吧。
    Kokororin
    Kokororin
    Aug 23, 2015
    15
    @HentaiMew 是的……放在 linode 上
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    16
    @Kokororin 然而上海用户表示 linode 已死,直接性的 ping 不通。所以我才要暴露成 api 让百度的服务器去访问。这样就不会因为用户网络原因造成访问问题了
    Kokororin
    Kokororin
    Aug 23, 2015
    17
    @HentaiMew 然而上海电信非 CN2 用户表示无压力……我是用 php 直接获取的,比较 low
    magicdawn
    magicdawn
    Aug 23, 2015
    18
    http://google.magicdawn.ml/

    就是搜索, 然后在 heroku 上买, 一段时间没人访问就休眠了
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    19
    @magicdawn 这个 heroku 看起来不错 有免费的而且还是 521m 内存 不过居然 24 小时以内必须休眠 1/4 的时间。。。 持续超过 18 小时未休眠 会怎样?暂时无法访问吗?
    orangleliu
    orangleliu
    Aug 23, 2015
    20
    搜中文都是日语的 。。
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    21
    @orangleliu 啊 其实我也注意到了 , 谷歌根据 ip 选择了结果语言,其实我是用 hl=en 当作语言参数的,应该是更偏向英文结果。但是谷歌没理会那个参数。有时间再研究研究,可能在请求里面加个语言 header 更好吧
    googlefans
    googlefans
    Aug 23, 2015
    22
    这个有什么用呢?
    welly
    welly
    Aug 23, 2015 via iPhone
    23
    这个挺好!楼主加油。
    xiao201261
    xiao201261
    Aug 23, 2015
    24
    wen.lu 大法好
    magicdawn
    magicdawn
    Aug 23, 2015
    25
    @HentaiMew

    不知道, 貌似再访问是被唤醒吧~
    magicdawn
    magicdawn
    Aug 23, 2015
    26
    API 我可以用么
    gezehua
    gezehua
    Aug 23, 2015
    27
    Imivan
    Imivan
    Aug 23, 2015
    28
    为毛不设反代,这样感觉多余啊。
    shoumu
    shoumu
    Aug 23, 2015
    29
    @magicdawn 你可以爬取楼主的搜索结果,然后封装一下,哈哈
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    30
    @magicdawn 当然可以 待我明天晚上公布出来。目前搜索结果单个条目包括,标题、内容、真实链接、域名、相关搜索列表等等 , 参数仅 关键字和页码
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    31
    @shoumu .... 哈哈哈
    aofall
    aofall
    Aug 23, 2015 via iPhone
    32
    BAE 的速度并不是很好,建议去掉背景图片
    yicun
    yicun
    Aug 23, 2015
    33
    @magicdawn
    可以请教一下具体怎么在 heroku 上部署吗?
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    34
    @orangleliu 搜索结果已经中文化了,欢迎使用 。 我个人感觉还行。想要的基本都能出来。
    HentaiMew
    HentaiMew
    OP
    Aug 23, 2015
    35
    @aofall .... 你那边加载这张图 : http://globrv.duapp.com/resources/img/dandelion.jpg

    Ctrl+F5 一下, 试试要多久。 我这边是秒加载啊 基本看不到图的加载过程。
    HentaiMew
    HentaiMew
    OP
    Aug 24, 2015
    36
    @aofall 你有时间可以看下现在的网站状态。哈哈哈,做了些细节调整,两个字:“魔性”。
    Kokororin
    Kokororin
    Aug 24, 2015
    37
    @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 来判断的
    BGLL
    BGLL
    Aug 24, 2015
    38
    看背景看瞎了,,,
    magicdawn
    magicdawn
    Aug 24, 2015
    39
    @shoumu
    哦~缺一台墙外的 VPS~heroku 自己用还不错
    magicdawn
    magicdawn
    Aug 24, 2015
    40
    @yicun 下载好 heroku toolkit, 在命令行登录, 然后设置好 git 地址, 每次 push 的时候是自动部署的~
    scarlex
    scarlex
    Aug 24, 2015
    41
    强烈要球更换背景图!
    coolicer
    coolicer
    Aug 24, 2015
    42
    亮瞎狗眼
    aofall
    aofall
    Aug 24, 2015
    43
    @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
    以及............求!换!壁!纸!
    HentaiMew
    HentaiMew
    OP
    Aug 24, 2015
    44
    @aofall 你边的网络环境访问 BAE 太糟糕了... 我这边非常快。所以为了照顾类似你那种网络环境的用户。我特意把图片换成了 SVG ,哈哈。已经没有壁纸了。
    jiongxiaobu
    jiongxiaobu
    Aug 24, 2015 via Android
    45
    背景已看瞎
    HentaiMew
    HentaiMew
    OP
    Aug 24, 2015
    46
    @scarlex 还是不要了,这背景我看着真心舒服。我已经弄成我的 chrome 新标签页了。时不时就看个标签页也不上网就盯着几十分钟,治好了我的浑身难受。
    wwek
    wwek
    Aug 24, 2015
    47
    不带 https 等着被封
    HentaiMew
    HentaiMew
    OP
    Aug 24, 2015
    48
    @wwek 带了 https 也没用 clt 端在 BAE 上, ZF 说封百度分分钟删掉应用。
    leqoqo
    leqoqo
    Aug 24, 2015
    49
    这背景图片 立马关闭 哈哈
    doublleft
    doublleft
    Aug 24, 2015
    50
    你知道啥叫光敏感性癫痫吗草你吗
    doublleft
    doublleft
    Aug 24, 2015
    51
    差点一口吐键盘上
    HentaiMew
    HentaiMew
    OP
    Aug 24, 2015
    52
    @doublleft 就你这素质 我没啥好道歉的 , 顺便送你俩字 “活该”。
    egrcc
    egrcc
    Aug 24, 2015
    53
    期待楼主公布 api ,或者开源一下实现方案也好啊
    egrcc
    egrcc
    Aug 24, 2015
    54
    @magicdawn 能请教一下 http://google.magicdawn.ml/ 是怎么实现的吗
    HentaiMew
    HentaiMew
    OP
    Aug 24, 2015
    55
    @egrcc 他的那个就是反代啊亲,有时间把代码整理一下就开源 。 api 马上公布出来,待我吃饭归来。
    magicdawn
    magicdawn
    Aug 24, 2015
    56
    @HentaiMew @egrcc

    不是反代, 跟你的差不多吧, 我这边上次偷懒, 直接把 html pipe 过来
    代码在 https://github.com/magicdawn/my-google 没时间修改,请轻拍~

    后面请求的是 一个 google server https://github.com/magicdawn/my-google/blob/master/lib%2Fgoogle.js#L19
    HentaiMew
    HentaiMew
    OP
    Aug 24, 2015
    57
    @magicdawn 我以为你是反代用了一些插件 加载了些自己的 js 把谷歌的网页修改了呢。哈哈
    magicdawn
    magicdawn
    Aug 24, 2015
    58
    @HentaiMew google 的页面比我自己搞的好看多了
    HentaiMew
    HentaiMew
    OP
    Aug 24, 2015
    59
    @magicdawn
    @egrcc

    api 地址: http://globr-api.bluerain.io

    展开搜索 API ,就是了。可以在线 try ,来观察返回结构。其实可以写注释的,但是我懒得写了,结构很简单一眼就能看明白。
    "relatedKeys",这个里面是相关搜索的关键字。在我目前的 clt 端其实没有用到。
    yicun
    yicun
    Aug 25, 2015
    60
    @magicdawn
    好像搜索出来的页面完全加载完,网页图片视频哪一行和最顶哪一行会缩进不见了。
    magicdawn
    magicdawn
    Aug 25, 2015
    61
    @HentaiMew 这样 client server 可以放在国内了
    magicdawn
    magicdawn
    Aug 25, 2015
    62
    @yicun 最上面被窝用 css 隐藏掉了 https://github.com/magicdawn/my-google/blob/master/public%2Fcss-src%2Fsearch.less#L4

    其他的真是未加载到~直接把 google 返回的 html 给客户端, html 会引用不知做甚的 js~真是烦呢
    messyidea
    messyidea
    Aug 25, 2015
    63
    搜索界面的壁纸好赞~
    egrcc
    egrcc
    Aug 25, 2015
    64
    @HentaiMew 能不能给个使用文档,打开就是这样的:
    不会用啊
    HentaiMew
    HentaiMew
    OP
    Aug 25, 2015
    65
    @egrcc 真的非常抱歉,你截图的就是文档。但是昨晚我把项目迁移到 heroku 上去了。一些本地开发的代码被部署了。其实你可以看到, api-docks 哪里的 url 是 localhost 的....访问的是你本地所以加载不出来,有时间我注释掉本地代码重新部署下。

    核心的搜索 api 就是:

    http://globr-api.bluerain.io/api/search?keyword=v2ex&pagNum=2

    keyword 后面是关键字, pagNum 是页码(没有这个参数默认第一页)
    egrcc
    egrcc
    Aug 28, 2015
    66
    @HentaiMew 试了下, api 可以用,不知道能否授权我在此项目中使用你的 api : https://github.com/egrcc/xunmi_android
    HentaiMew
    HentaiMew
    OP
    Aug 28, 2015
    67
    @egrcc 哈哈 很赞 我平时业余也玩安卓的开发 但是从来没做一个像样的作品出来。

    这个主域名的文档 url 被我改过来了: http://globr-api.bluerain.io 可以在线 try ,以后可能开发新的 api

    api 随便用,希望你做得更好!
    egrcc
    egrcc
    Aug 28, 2015
    68
    @HentaiMew 能否加个微信交流一下?我的: egrcc1994
    HentaiMew
    HentaiMew
    OP
    Aug 28, 2015
    69
    @egrcc 真 TM 巧!我也在上海,微信已加。
    cffcaa
    cffcaa
    Aug 29, 2015
    70
    刚看到时速度是快,加入搜索列表一天就挂了,也要表示 感谢下,
    HentaiMew
    HentaiMew
    OP
    Aug 29, 2015
    71
    @cffcaa 哈哈 ... 没关系 api 还能用 你可以尝试自己开发一个自己的搜索啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1985 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 104ms · UTC 16:34 · PVG 00:34 · LAX 08:34 · JFK 11:34
    ♥ Do have faith in what you're doing.