新足迹

 找回密码
 注册

精华好帖回顾

· 公司近全员确诊新冠,分享真实故事。。总结建议更新202 (2021-12-31) 平安2020 · 五年的生活,七年的回忆 (2007-9-4) poloand
· 成长日记——在公园目睹Bully的萌芽 (2009-8-5) 风再起时 · 一封感谢信 (2007-8-30) amon54
Advertisement
Advertisement
查看: 2931|回复: 42

javascript 分布式 云 parse html 页面prototype [复制链接]

发表于 2011-6-20 10:24 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
最近想出一个 idea, 也用代码实现了, 大家看看有啥问题
算法如下
1. 写一个server 端的 proxy page,可以fetch 任意页面, 然后把这个页面的内容转换成 jsonp 格式, 这样可以解决 js的 crossdomain的 问题
2. 写一个 单独的 html 页面,先把 刚才的jsonp 格式 注入到dom,,然后用jquery 直接parse, parse出的 结果,直接post 到 server 存起来.
3. 有大量页面的情况下,可以在任何一个机器开一个浏览器帮助 parse,save data
4. 每次打开页面的时候 从server fetch 一个list,cache 里面最需要更新的页面parse 先,通过一个循环动态的load jsonp页面来parse

云parse

因为 通过proxy ,所以解决了crossdomain 的 js 的局限.

因为安全隐患的问题
不公开开放代码了,要的可以PM我

[ 本帖最后由 o2h2o 于 2011-6-20 18:26 编辑 ]

评分

参与人数 5积分 +16 收起 理由
coin_king + 3 你太有才了
乱码 + 5 interesting, well done!!
porcorosso + 2 安慰一下

查看全部评分

Advertisement
Advertisement

2010年度奖章获得者

发表于 2011-6-20 10:31 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
就为了看隐秘天空?

发表于 2011-6-20 10:32 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-6-20 10:31 发表
就为了看隐秘天空?
精辟!我没看懂楼主要干嘛。。。

2010年度奖章获得者

发表于 2011-6-20 10:33 |显示全部楼层

回复 混不到坑的萝卜 3# 帖子

此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我也没懂

发表于 2011-6-20 10:33 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-6-20 10:31 发表
就为了看隐秘天空?

这就是足迹页面变json的方法啊

什么客户端都不是问题了

客户端只要去 服务器fetch parse 好的结果就可以了
很neat的 json 格式

那个 alert() 出来的结果 以后 可以被iphone android
windows 7, blackberry , 等调用

是存在server的

[ 本帖最后由 o2h2o 于 2011-6-20 10:35 编辑 ]

特殊贡献奖章

发表于 2011-6-20 10:36 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
靠,你这也可以云

你的云拼错啦

不过还是有点意思的
Advertisement
Advertisement

发表于 2011-6-20 10:36 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-6-20 10:36 发表
靠,你这也可以云

你的云拼错啦

不过还是有点意思的

哈哈 还真拼错了

特殊贡献奖章

发表于 2011-6-20 10:37 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你可以把任意页面都parse成json吗

发表于 2011-6-20 10:37 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
汗 大家真没看懂
有啥用吗

发表于 2011-6-20 10:38 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-6-20 10:37 发表
你可以把任意页面都parse成json吗

需要写一点点的 js parse 代码
但是已经是最少量了

只要写几行js 就可以了

看我的源代码你就明白了

这个东西的实际用途在于
每个人都可以帮助你parse 页面
在显示你的页面的同时
他们也在用js 异步的后台帮你parse,然后上传到server

然后一个 cache server,每次用户如果去那个页面 cache 被hit的 就不用重新parse了

[ 本帖最后由 o2h2o 于 2011-6-20 10:41 编辑 ]

2010年度奖章获得者

发表于 2011-6-20 10:41 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我那个足迹reader 之前的 SL版本,就是带个 WCF RESTful JSON service的
Advertisement
Advertisement

发表于 2011-6-20 10:43 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-6-20 10:41 发表
我那个足迹reader 之前的 SL版本,就是带个 WCF RESTful JSON service的

你这样如何大量parse 页面呢?
几万个实时更新页面咋办
靠一台机器不行吧

所以需要大家帮助你parse
这个就是 idea 的由来

这个东西关键的用途不是 在于如何parse 单个页面
而是如何使用大家的资源 帮助你做一下大量的parse
也不需要在 客户端安装什么,只要开一个浏览器就可以帮助你parse 页面

如果有1万个人访问你的页面,你在显示1万个页面的同时,也要求了大家帮助你parse 1万个页面的结果

[ 本帖最后由 o2h2o 于 2011-6-20 10:49 编辑 ]

2010年度奖章获得者

发表于 2011-6-20 10:50 |显示全部楼层

回复 o2h2o 12# 帖子

此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
明白了。

就是把server的parser logic 移到客户端, server只负责cache,和serve  cached json data。

你准备升级IOS 的 足迹客户端?

发表于 2011-6-20 10:51 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-6-20 10:50 发表
明白了。

就是把server的parser logic 移到客户端, server只负责cache,和serve  cached json data。

你准备升级IOS 的 足迹客户端?


就是这个意思

这个 idea 如何

特殊贡献奖章

发表于 2011-6-20 10:51 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
所有通过你的proxy浏览的页面你都存储下来?服务器负担的起吗?

根据你这个功能我想到一个idea
做一个系统,用户能登录然后填写自己喜欢的网站。
每天你的proxy就更新这些网站
用户通过这个系统就可以浏览了

对被墙的用户还是有点意思的,特别是用于浏览xx网站

发表于 2011-6-20 10:54 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-6-20 10:51 发表
所有通过你的proxy浏览的页面你都存储下来?服务器负担的起吗?

根据你这个功能我想到一个idea
做一个系统,用户能登录然后填写自己喜欢的网站。
每天你的proxy就更新这些网站
用户通过这个系统就可以浏览了

对被墙的用户还是有点意思的,特别是用于浏览xx网站

proxy 的页面不存,怕数据量太大
只存parse 好的页面
而且是一个 带timestamp的 update,而不是全insert
所以数据量能控制
Advertisement
Advertisement

发表于 2011-6-20 10:54 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-6-20 10:51 发表
所有通过你的proxy浏览的页面你都存储下来?服务器负担的起吗?

根据你这个功能我想到一个idea
做一个系统,用户能登录然后填写自己喜欢的网站。
每天你的proxy就更新这些网站
用户通过这个系统就可以浏览了

对被墙的用户还是有点意思的,特别是用于浏览xx网站

你这个东西 早就有了
webproxy 很多很多
就是 翻墙的

发表于 2011-6-20 10:55 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整

没人加分
看来认同的人不多
呵呵

特殊贡献奖章

发表于 2011-6-20 11:00 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个系统因为内容在服务器上,可以通过我们给定格式显示给用户
再做成web2.0,用户可以share内容,打分,评价
用户有归属感,每天上网第一件事就是登录这个系统(paopaobing(88))

原帖由 o2h2o 于 2011-6-20 10:54 发表

你这个东西 早就有了
webproxy 很多很多
就是 翻墙的

2010年度奖章获得者

发表于 2011-6-20 11:01 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 o2h2o 于 2011-6-20 10:51 发表


就是这个意思

这个 idea 如何


分布式计算。 这个要看运用场景,用在massive scale social app 当然很好。 当普通论坛啥的,我觉得服务端处理+cache足够了。

而且,你这个也不是实时的,用户得到的都是server cache 的数据。 你可能会设置每分钟cache expire之类的吧?

但是你这个想法,模型挺好的。 如果能找到一个好的应用场景可能会做出挺酷的app
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

发表于 2011-6-20 11:04 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-6-20 11:01 发表


分布式计算。 这个要看运用场景,用在massive scale social app 当然很好。 当普通论坛啥的,我觉得服务端处理+cache足够了。

而且,你这个也不是实时的,用户得到的都是server cache 的数据。 你可能会设置每分钟cache expire之类的吧?

但是你这个想法,模型挺好的。 如果能找到一个好的应用场景可能会做出挺酷的app

这个 能分担一部分 server 的workload
页面越多 访问量越多 越能显示出威力

如果只是 1 handful page,这个东西确实没啥用

适用场景就是 大量页面需要parse更新,用户访问量很大的 网站

其实还有个 附加用途的就是
用户在访问那个页面的时候先用 server cache的 json 来显示,因为这个快,然后后台继续parse,后台对比,数据变了 就一下更新client 的显示
对用户来说
直观的感受就是速度快了
在某种情况下页面会自动刷一下

parse 的 结果都保存在server 的,而不是仅仅实时parse的 另外一个好处
就是 离线版的 可能性
开机 downlaod 一个 package data,就可以离线浏览 最近一个月的

[ 本帖最后由 o2h2o 于 2011-6-20 13:09 编辑 ]
Advertisement
Advertisement

发表于 2011-6-20 11:36 |显示全部楼层
此文章由 明月星光 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 明月星光 所有!转贴必须注明作者、出处和本声明,并保持内容完整
感觉意义不大……NODE.JS在服务器端运行就可以了。用户提交的数据不可信。

发表于 2011-6-20 11:42 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 明月星光 于 2011-6-20 11:36 发表
感觉意义不大……NODE.JS在服务器端运行就可以了。用户提交的数据不可信。

客户端不是 页面
是一个锁定的 client application
例如iphone app,andorid app, 用户提交的可信不可信你可以验证, generate 一个你自己定义的token 就可以了

就是不想服务器load 太大
所以分布出来

发表于 2011-6-20 12:08 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
mark

今晚再来消化

发表于 2011-6-20 13:00 |显示全部楼层
此文章由 DoubleU 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DoubleU 所有!转贴必须注明作者、出处和本声明,并保持内容完整
将来可以把收费内容重新定制整合发布出去, good money

发表于 2011-6-20 18:58 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
刚刚看完,还是不懂。。。

今晚再看一遍!

评分

参与人数 1积分 +3 收起 理由
o2h2o + 3 多谢研读

查看全部评分

Advertisement
Advertisement

发表于 2011-6-20 21:04 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
要看一下source code才知道

发表于 2011-6-20 21:08 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
有趣,如果再加上三BA的statistics,就是一个小google bots阿,牛!!!

评分

参与人数 1积分 +3 收起 理由
o2h2o + 3 这个貌似还是适用于计算量很大的情况,只是一个prototype

查看全部评分

发表于 2011-6-20 21:14 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
ie里面 竟然是允许 crossdomain script的
有个 设定
开了就可以了

发表于 2011-6-20 21:15 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 o2h2o 于 2011-6-20 21:14 发表
ie里面 竟然是允许 crossdomain script的
有个 设定
开了就可以了


汗!

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部