找个搜索结果总数原来可以用到这么多的技术
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可能会做点修改..
索性自己用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可能会做点修改..
相关文章推荐
- 原来,英文可以这样去描述技术
- 解析百度搜索结果页面的python脚本(Linux/Win都可以运行)
- 自定义带有删除功能的edittext实例,在登录,搜索等地方经常用到可以直接用
- 如果结果中需要记录某一个数据 可以用到data point
- Sharepoint 2010 精简面板 可以对搜索结果分类 并统计个数
- QQ桌面快捷方式后面的东西原来可以这么多
- 哇,原来可以读这么多书
- QQ技术攻略-原来隐藏着这么多秘密
- 自定义带有删除功能的edittext实例,在登录,搜索等地方经常用到可以直接用
- ES 搜索结果expalain 可以类似数据库性能调优来看排序算法的选择
- QQ技术攻略-原来隐藏着这么多秘密
- 自己做的几个小软件(数学工具和游戏),用C/C#制作,用到许多相关的C#技术细节,可以免费提供下载,感兴趣的,来看一下
- Qt5.2.0 MinGW480 release静态版编译结果、过程及QtCreator配置分享(realfan的编译方法)(configure -h可以显示帮助)(静态编译mysql插件,需要做一些其它工作,机器上要有mysql)(不编译qtwebkit,就不用安装ActivePerl了)(用到 QMediaPlayer的编译办法)
- 大家用Google是否也会经常打不开搜索结果?分享一个好东东吧,可以解决这个问题
- QQ技术攻略-原来隐藏着这么多秘密(上)
- ch23.P456.练习二,搜索结果自动出来,并且可以点击选择-----重要,js是难点?????
- QQ技术攻略-原来隐藏着这么多秘密
- QQ技术攻略-原来隐藏着这么多秘密(下)
- 自带删除功能的输入框——在登录,搜索等地方经常用到可以直接用
- 原来计算机中的搜索可以这样简单