Dirain的开源地带

思想在进步
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

突发的灵感,庞大的互联网数据库设想!

Posted on 2008-07-06 15:34  Dirain  阅读(2746)  评论(37编辑  收藏  举报
      本人是个初学者,接触过存取数据的方式只有通过数据库、xml、文本这些进行简单的存取。如果我自己开一个门户类型网站,那么我每天可能必须要更新我网站的新闻或者其他每天都在变的内容。每天繁琐又没有技术含量的操作,只是为了采集一些数据插入到数据库里,多麻烦。有人会让我用机器人采集数据,我觉得这样还是有些麻烦。于是今天突发奇想,在说重点之前,我先举个例子说明一下。正常做一个项目都会用到数据库,就 拿mssql来讲,每操作的时候可以通过简单的sql语句拿到数据,例如:select * from table。我的设想就是自己定制一种语法,可以采集本地机器或网络上的任何资源。
      说一下流程:
      1.假设百度数据库服务器存着网站的数据
      2.百度的程序员写了一套程序漂亮的展示出了数据
      3.用户访问百度的域名可以查看到很漂亮的页面,取得自己想看的信息。
      就以上3点,如果我们想连接百度数据库拿到数据供我们自己用,大家想想可能吗?但有一点,我们可以轻松拿到百度给客户展示后的数据,也就是网页源代码,我们可以从源代码进行分析,最终把网页源代码的数据处理成原始数据。OK,我们拿到了,这样想怎么用就怎么用了吧?
      我的目的就是要自己做一个框架,让各位使用简单的方式取到某网站页面原始数据,框架只起中间层分析处理作用。怎么拿数据使用者是看不到的。
      我想我这个想法网络上还没有成熟的作品吧?
      此框架最终目的是把互联网络变成一个超大型数据库,想取什么取什么,嘿嘿,想法不错吧!
      为了让大家更好理解我的想法,我做了个简单的例子。可以参考一下,或者有更好的实现思路感谢各位提醒了。
      这个例子暂时能够实现的功能是通过我自定义的语句来获取某个网页的源代码、获取某个页面的超链接。


select link.url,link.body from [url:http://www.cnblogs.com/;encoding=utf-8]

语法简要说明

select * from [url:http://网址;encoding=页面编码]   可以获得一个网站的源代码

select link.* from [url:http://网址;encoding=页面编码]     获取一个网页的所有超链接

页面编码可不填写,默认页面编码为gb2312

可显示的超链接属性:
link.url,link.title,link.id,link.name,link.target,link.body

目前为了测试,暂时只有两个简单的语法。

以后的目标将增加各种查询条件,让数据查询更灵活。

源代码:https://files.cnblogs.com/dirain/SearchData.rar

我写的代码可能是最笨的方式,希望各位能留言帮忙提供实现思路,谢谢。