手动做一个带指示的网站地图不成问题, 但如果参与构成地图的页面很多制作会很麻烦, 而这种导航也不可能极尽详细(比如导航到每一篇文章等). 如果变动网站的某一部分就要相应的改动地图, 如果变动网站的整个结构这个地图基本就算废了.
于是, 我又开始了我一贯式的傻想:
1. 不但要有蛋, 而且要有下蛋的鸡, 不妨把手动制作这种地图的过程交给一个程序来自动完成.
2. 这个程序可通过某个组件(如"Msxml2.ServerXMLHTTP")来读取网页, 从主页开始读取, 然后对读到的页面进行分析.
3. 用正则(之类)取得页面中所有"a"标签中的" href="..." ", 识别链接是站内或站外, 将站内链接录入数据库中的计划表内, 然后去掉页面所有的代码(就像搜索引擎那样). 将该页的信息(文件大小, 位置层次, 标题等)和剩余的字符串(该页内容)存入数据库.
4. 依次读取计划表中的未处理页面, 并按照第三步操作.
5. 根据数据库中的所有页面的位置层次, 标题, 链接等绘制出站点地图(用FSO生成一个或几个直观的, 有层次的文件页就行, 这些个文件可以是静态的, 也可以是ASP脚本, 这都是具体操作的部分, 当然也是最讲究的部分).
6. 利用数据库里的信息连带的可以做出个站内搜索.
7. 嗯, 这样当于搞了个微型搜索引擎出来, 效率是低的可怜, 但如果网站不大, 夜深人静的时候自己抓一抓也还说得过去.
8. 设置合理的话, 可以只抓特定层次以内的网页, 新增的网页, 和文件头有变化的网页. 这样就只需运行一次, 以后就带拉的溜跶着就行.
想好了这些次日就去看"上帝"("如果遇上一个精神病"(2-25)一文里提到过有关"上帝"的问题). 本来想找上帝帮着写些代码, 但没想到他也得人求人, 那就算了, 反正是为了闲事儿. 和上帝热闹了半天回来也就没心情再多想这个问题.
"没心情"决不是"就此打住"的理由, 而"就此打住"的理由是:
1. 突然发现我闲不上几天了, 还是实际一些, 先做个地图出来, 还有升级Blog(模板)是要务.
2. 网站的抓取, 网站地图的生成肯定要依赖于"网站层次"这个概念, 而"网站层次"显然要求站点结构的合理. 我的网站还有结构? 没发现. 如果有的话也只能用一塌湖涂来形容(甚至还有一部分内容在站外, 都是RSS Reader 惹的祸). 做了这么个程序却不能用来生成自己的网站岂不可笑? 傻到家了.
3. 最近"破网"成瘾, 到处疯转, 心似野马, 更没时间研究这些东东. 连Blog都懒得写了.
所以这个想法作且仅作一种想法记在这里. 容日后看看. 日后当然不做的可能性大, 但也不排除真就做了, 就像我现在这个网站(FeedGroup)就是在一次一次的表示放弃的过程中最终搞出来的. (如果说放弃的话, 倒是放弃了后台, 其实后台在一开始的计划中是有的, 但考虑不周, 后来在拼了三十个小时之后发现当初不使数据库的想法使得这个后台bug百出, 跟本不可能完美实现. 只好弃了, 并把建立后台设想到下一个版本(2.x), 那时将使用数据库或XML文档保存菜单数据, 但下一个版本显然和这个所谓的"站点地图程序"一样缥缈无期.)
可能性是这样的:
1. 得有闲功夫(这个可说不准);
2. 得给我的网站搞出下一个版本(如果引入数据库, 那将会有很多功能可以实现, 要做的活儿多了);
3. 得认真研究一下ASP.NET.
4. 最后再想想这个"站点地图程序"其实也是蛮有意思的.
我的正业和网站可谓是风马牛不相及, 搞点网站可以说是有一茬没一搭, 就算我的网站搞出下一版本也肯定没什么价值, 后边的更是玩玩.
再说运行网站什么的我也根本没什么兴趣, 除了体验一下技术的快感. 还是先认真的搞我的学问罢, 以及某些令人沮丧的事情.
2 条评论:
-_- 搜索引擎……加油干……我支持你
别把东西想的这么复杂嘛!不过我也经常这样
PS:我是Zx.MYS
我大多是只想不做, 我不是搞IT的, 所以没这个时间和精力.
而你不一样, 你是学计算机的吧, 每一点想法都能变成实际.
就像你已经搞了那么多Z-blog的插件, 而我还没有完整的读遍Z-blog的代码.
正因为如此, 我也不喜欢改别人的东东, 而把时间尽可能的用来搞些能代表自己的东东.^_^
发表评论