V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
gangsta
V2EX  ›  分享创造

写了一个Chrome插件:豆瓣条目百度网盘搜索

  •  
  •   gangsta · 2013-09-07 18:40:04 +08:00 · 4333 次点击
    这是一个创建于 4097 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个半月前,还在V2EX和豆瓣上问.crx怎么发布到WebStore http://www.v2ex.com/t/76605
    现在这个小插件已经可以在Chrome网上应用店内搜到啦 也有了700+的用户.

    安装地址→→→ http://t.cn/z8XPRJh

    简单的说这个脚本主要是利用Ajax去请求某个关键字在百度和百度网盘的收录结果,因为没有相关的API,所以就是纯解析返回的HTML(核心代码只有70行左右),当然百度对自家的产品收录真的很快,权重也比较高,所以检索结果相对还是不错的说.冷门资源除外啦.

    安装后可以,访问豆瓣的 书/影/音 条目页面进行测试,比如:
    被偷走的那五年 (2013) http://movie.douban.com/subject/20513059
    苏打绿 - 十年一刻 http://music.douban.com/subject/4923069
    JavaScript语言精髓与编程实践[周爱民] http://book.douban.com/subject/3012828

    PS:
    最近刚开始看一些JavaScript的书,自己写的还比较烂,感觉很多时候还是很依赖jQuery,完全不知道原生的JS该怎么写,是否效率更高?语法上也受Java影响比较大.因为工作一直在做Java,很多前端的东西除了知道名字以外,缺乏验证的环境,所以这些小玩意儿全当练手和学习吧.

    斗胆贴上contentscript的Gist,还请各位指点:
    http://t.cn/z8X2VMh
    第 1 条附言  ·  2013-09-09 13:07:13 +08:00
    加两个截图试试,第一次贴图:



    可以点击"+"号,展开搜索框,搜索其他任意关键字哦:

    第 2 条附言  ·  2013-09-17 10:05:46 +08:00
    v1.4发布,紧急修复了一个不能正常显示的bug

    另外,源码也已经放Github了,欢迎star / fork:

    http://t.cn/z8Hfczo
    7 条回复    1970-01-01 08:00:00 +08:00
    laomo
        1
    laomo  
       2013-09-07 20:48:45 +08:00
    感谢分享,很实用,思路也很不错
    czyzyzt328
        2
    czyzyzt328  
       2013-09-08 00:43:48 +08:00
    czyzyzt328
        3
    czyzyzt328  
       2013-09-08 00:46:25 +08:00
    唔……先启用插件再启用脚本的话效果很和谐了……楼主无视我把……
    laomo
        4
    laomo  
       2013-09-08 20:40:22 +08:00
    机器配置不太好,Chrome比较吃内存,根据你的这个脚本修改了一个userscript:

    https://gist.github.com/laomo/6484185

    http://userscripts.org/scripts/review/177423

    望不要介意。。
    benmao
        5
    benmao  
       2013-09-09 09:39:28 +08:00
    @gangsta 如果百度改了算法 是否会失效?
    gangsta
        6
    gangsta  
    OP
       2013-09-09 13:04:00 +08:00
    @czyzyzt328 其实有考虑过整合新浪爱问,特别是对于读书,资源更多,而且新浪爱问有API

    @laomo 欢迎fork啊,不过我反而觉得FF太吃内存了,呵呵...另外就是Chrome扩展有自己完整的项目目录结构和API,引用额外的库或者样式文件不用跨域,操作起来更方便一些,我这里用了jQuery库和bootstrap库;比如你上面那段代码里的<span class="badge badge-error"></span>其实是bootstrap里的一个样式,不引入这个文件的话是没法显示的.

    @benmao 完全是纯解析HTML代码,所以不存在算法API什么的,不过看过一些公司的前端规范,全站级的样式定义一般不会轻易更改的,哪怕是一个选择器的属性(比如豆瓣的:https://github.com/kejun/CSS-Code-Guideline),所以一般不会失效
    laomo
        7
    laomo  
       2013-09-09 13:30:11 +08:00
    @gangsta 我还在用chrome的,我说的吃内存,主要是usercript可以比插件省些内存,安装插件不算多,4G内存经常跑满(一般再开个eclipse,开个终端)。所以尽量能用脚本的话不用插件。

    usercript和chrome扩展是2种实现,其实都有api的,bootstrap和jquery比较不方便,但是好像可以使用的,我写代码的功底css比js更烂,所以也没看样式。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5933 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:57 · PVG 09:57 · LAX 17:57 · JFK 20:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.