您的位置:首页 > 其它

找个搜索结果总数原来可以用到这么多的技术

2010-03-16 17:14 357 查看
今天刚刚上班的时候..隔壁同事给分配到个任务.就是做个软件.用可以分析一个关键字在搜索引擎里的搜索总量.

索性自己用Console也弄了个..

源码下载

主要用到下面几种技术:

1.插件模式

2.事件

3.委托

流程:

1.先实例化一个事件

2.检索插件,将找到的插件实例化并传入事件作为参数执行

3.搜索 -> 下载源码,分析,取出搜索结果总数

4.用委托回调每个结果

解决方案结构:

搜搜插件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Yans.Implementation.Searcher;

namespace Yans.Searcher.SosoSearcher
{
public class SosoSearcher
{
public SosoSearcher( IndexEvent e ) {
e.SampleEvent += new IndexEvent.SampleEventHandler(e_SampleEvent);
}

void e_SampleEvent( object sender, string e ) {
string result = CodeAnalyzer.Analyzer("http://www.soso.com/q?pid=s.idx&w={0}", e, @"搜索到约([\d,]*)项结果,用", "gb2312");
var searcherEvent = (IndexEvent)sender;
if (null != searcherEvent.Actions) searcherEvent.Actions(this, result);
Console.WriteLine("Soso searched result count:" + result);
}
}
}

Ps:这三个插件都是作为一个独立的项目存在的,如果需要添加新的插件..可以再添加一个项目..生成为dll文件后,放到程序的目录里.就可以直接使用了..

总结:

1.插件模式的原理..我的理解就是让程序去搜索可用的插件,并将其在需要使用的时候实例化..

2.此文也算是扔个砖头引块玉来.. - - 那成语怎么说来着?

3.本程序在VS2010下调用通过..VS2008或VS2005可能会做点修改..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐