`

自制行业搜索引擎

阅读更多
     呵呵,这一段时间尽在瞎鼓捣一些东西,看看结果吧:仪器仪表搜索
     这个引擎的基本制作思路如下:
1)、利用爬虫抓取指定数据到数据库。使用爬虫的机制找到包含有所需信息的指定网页,一般都比较有规律,但是各个网站的规则不同。比如:中国仪器仪表国际网   其规则是:disp.asp?id=xx,还有:金泰阳仪器仪表采购网,其规则是:cp.asp?id=xx,所以要分别对待,其内容也要分别处理。可以看看中国仪器仪表国际网的抓取代码片段:(关键是规则)
java 代码
 
  1. BufferedReader in = new BufferedReader(new InputStreamReader(connection  
  2.                 .getInputStream(), charset)); // 使用指定编码接收数据  
  3.         Productinfo info = new Productinfo();  
  4.         String line = null;  
  5.         String LoveIt = "";  
  6.         String pix = "";  
  7.         int i = 0;  
  8.         Manufacturer M = new Manufacturer();  
  9.         while ((line = in.readLine()) != null) {  
  10.             if (line.indexOf(pix) > 0) {  
  11.                 i++;  
  12.                 /** 
  13.                  * 把这一行抽出来呀!!,历史任务! 
  14.                  */  
  15.                 if (i == 1) {  
  16.                     int BeginIt = line.indexOf(pix);  
  17.                     int EndinIt = line.indexOf("", BeginIt);  
  18.                     LoveIt = line.substring(BeginIt + pix.length(), EndinIt);  
  19.                     M.setManufacturerName(LoveIt);  
  20.                     // break;  
  21.                     if (LoveIt.length() > 5) {  
  22.                         continue;  
  23.                     }  
  24.                 }  
  25.                 if (i == 2) {  
  26.                     int BeginIt = line.indexOf(pix);  
  27.                     int EndinIt = line.indexOf("", BeginIt);  
  28.                     LoveIt = line.substring(BeginIt + pix.length(), EndinIt);  
  29.                     info.setProductName(LoveIt);  
  30.                     if (LoveIt.length() > 5) {  
  31.                         continue;  
  32.                     }  
  33.                 }  
  34.                 if (i == 3) {  
  35.                     int BeginIt = line.indexOf(pix);  
  36.                     int EndinIt = line.indexOf("", BeginIt);  
  37.                     LoveIt = line.substring(BeginIt + pix.length(), EndinIt);  
  38.                     info.setProductSpec(LoveIt);  
  39.                     if (LoveIt.length() > 5) {  
  40.                         continue;  
  41.                     }  
  42.                 }  
  43.                 String ImageUrl = Url.replace("disp.asp""showing.asp");  
  44.                 info.setFirstPic("http://www.china-meter.com/btob/backmanage/"  
  45.                         + ImageUrl);  
  46.   
  47.                 if (i == 5) {  
  48.                     int BeginIt3 = line.indexOf(pix);  
  49.                     int EndinIt3 = line.indexOf("", BeginIt3);  
  50.                     if (EndinIt3 == -1) {  
  51.                         line = in.readLine();  
  52.                         EndinIt3 = line.indexOf("", BeginIt3);  
  53.                         LoveIt = line;  
  54.                     }  
  55.                     if (LoveIt.length() == 0) {  
  56.                         LoveIt = line.substring(BeginIt3 + pix.length(),  
  57.                                 EndinIt3);  
  58.                     }  
  59.                     info.setProductDesc(LoveIt);  
  60.                     if (LoveIt.length() > 5) {  
  61.                         continue;  
  62.                     }  
  63.                 }  
  64.                 if (i == 8) { // 厂商地址  
  65.                     int BeginIt4 = line.indexOf(pix);  
  66.                     int EndinIt4 = line.indexOf("", BeginIt4);  
  67.                     LoveIt = line.substring(BeginIt4 + pix.length(), EndinIt4);  
  68.                     M.setAddress(LoveIt);  
  69.                     if (LoveIt.length() > 5) {  
  70.                         continue;  
  71.                     }  
  72.                 }  
  73.                 if (i == 9) { // 厂商电话  
  74.                     int BeginIt4 = line.indexOf(pix);  
  75.                     int EndinIt4 = line.indexOf("", BeginIt4);  
  76.                     LoveIt = line.substring(BeginIt4 + pix.length(), EndinIt4);  
  77.                     M.setTel(LoveIt);  
  78.                     if (LoveIt.length() > 5) {  
  79.                         continue;  
  80.                     }  
  81.                 }  
  82.   
  83.             }  
  84.         }  
  85.         in.close();  
        呵呵,可能运行不到10分钟就会抓取他们近万条的产品,是不是很拽呀,看了我的程序,你会发现哪些所谓的网站录入员的工作都是无用功。我利用这种技术已经在近1个月之内利用课余时间抓取到10万多条记录(当然有用的有效的记录只有2、3万条),
2)、建立索引,放在指定目录。
3)、建立搜索,并自定义分词技术、排序和高亮的规则,然后进行查询。
其中,建立索引已经改造,搜索的排序算法和竞价还在开发当中。搜索不够准确也是迫在眉睫的事。
如果大家有什么好的建议可以互相交流。
分享到:
评论
15 楼 ispring 2008-10-06  
严重同意,后续工作才是重点。抓取只是一些规则的定义
14 楼 咖啡舞者 2008-02-27  
互联网数据虽大,但是现在用一个 关键词 很难找到不同的技术文章了。
搜索引擎需要做到把重复内容的排除,然后找到文章原出处就好了,呵呵
13 楼 coreymylife 2008-02-23  
觉得要通用的话,有待大家实现一个诸如rss一样的标准格式,但是没貌似可能性没有
12 楼 swantt 2008-02-21  
htmlunit也行. 我们这边是用得这个.
11 楼 jomper 2008-02-20  
同意,后续工作才是重点.
不过抓取用python更高效。
10 楼 waldenlake 2008-02-20  
1 .你的效率比较低 一月10万? 我以前也做se玩 单机多线程一天10万差不多(好像还是低),是不是通用的和行业的爬虫效率不同?
2 .行业的专业性很重要。应该还有一些策略来净化搜索内容,比如导向词,专用词库。
3 .有位javaeyer曾经给我留言,抓取不是重点,后续工作才是重要的。
9 楼 imjl 2008-02-20  
btprince 写道
你爬我也爬,把网络爬死算了,可以直接使用baidu,google等搜索引擎把范围缩小,然后再后处理筛选自己需要的内容。



网络会不会爬死,这不是我们的任务,也不是一般人能解决的。

用baidu和google等搜索引擎在某种程度的确可以起到搜索作用,但是很难做好。


要做好,必须要建立自己的数据平台。
8 楼 btprince 2008-02-19  
你爬我也爬,把网络爬死算了,可以直接使用baidu,google等搜索引擎把范围缩小,然后再后处理筛选自己需要的内容。
7 楼 linzh 2008-02-19  
我公司有个行业搜索的项目,想请你参与,请你致电13602621892林先生联系,或者发送邮件至linzh@twicechina.com
6 楼 imjl 2007-10-26  
通用比较难。。

据我所知,一些大网站还只是模板对应,,通用还做不到。

当然要求不一样,也不大好说。
5 楼 heweiya 2007-10-26  
N,同感,目前正在使用xml做为一个抓取的基本过滤规则,正在制作和完善当中。呵呵。互联网是个大的数据库呀,我们应该好好利用。
另外,也正在制作爬虫的半自动漫游程序。希望共勉!
4 楼 CnXiaowei 2007-10-26  
这个东西我觉得应该是作成比较通用的合适一些,可以根据配置不同来抓取不同网站的内容。目前我正在做一个通用的抓取系统,可以根据需要进行配置、抓取数据和发布数据,目前只剩下一个定时抓取没有做,其他已经完成了,使用了一下效果还不错,支持大多数网站,最好再配合一个完善的CMS就齐了。
http://ilvs.cn/server/
这里是我测试的时候抓取出来的内容,效果还算不错只是有些图片显示的有点问题。
3 楼 heweiya 2007-10-24  
呵呵,还要压缩一些重复的信息,还得上班呵呵。
2 楼 imjl 2007-10-24  
10分钟近万条

近1个月内10万条


这数字看起来真别扭。

10万条太少了,起码百万。



1 楼 kevin-qma 2007-10-24  
o 这样的啊

相关推荐

    ajax+jsp仿谷歌搜索引擎

    结合JavaServer Pages (JSP) 和JSON(JavaScript Object Notation)数据格式,可以构建高效、用户友好的搜索功能,就像谷歌搜索引擎中的文本框自动补全功能一样。下面我们将深入探讨如何利用这些技术来实现这一目标...

    自制走迷宫游戏.zip

    通过学习和实践,开发者不仅可以掌握Cocos2d引擎的使用,还能锻炼到问题解决能力和创新思维,这对于任何希望进入游戏行业的初学者来说都是一次宝贵的学习机会。在实际开发过程中,我们可能会遇到各种挑战,如性能...

    互联网传媒行业深度研究报告:从信息分发的角度理解互联网行业的变迁.pdf

    1. **信息分发的演变**:从门户时代的编辑分类,到搜索引擎时代的用户主动寻找,再到社交网络的关注模式,以及现在盛行的算法推荐,这些分发方式并非简单的替代关系,而是逐步融合,形成多维度的内容推送。...

    网站快速排名方法

    网站快速排名是每个网站运营者关注的核心问题,它关乎到...以上就是多年积累的网站快速排名方法,实践这些策略,结合自制的优化教程,相信你的网站能在搜索引擎中取得理想的位置。记住,成功的关键在于持续努力和耐心。

    2014年互联网行业风险分析报告.doc

    互联网行业是21世纪全球经济的重要驱动力,它涵盖了众多领域,包括电子商务、移动互联网、网络广告、网络游戏、搜索引擎、第三方支付、在线视频等。在2013年,中国互联网行业显示出稳健的增长态势,网络经济规模占到...

    es测试数据-自制-csdn

    Elasticsearch(ES)是一种基于Lucene的分布式、RESTful搜索和分析引擎,广泛应用于大数据存储、分析和检索。在IT行业中,Elasticsearch因其高效、可扩展和易用的特性,成为许多企业的首选解决方案。"es测试数据-...

    2014年互联网行业风险分析报告--大学毕业设计论文.doc

    互联网行业是21世纪全球经济的重要驱动力,它涵盖了电子商务、移动互联网、网络广告、网络游戏、搜索引擎、第三方支付等多个领域。在2013年,中国互联网行业保持了稳健的增长态势,网络经济整体规模达到了国民经济...

    2014年互联网行业风险分析报告大学论文.doc

    5. **搜索引擎**:虽然增速放缓,但依然保持相对稳定性。 6. **第三方互联网支付**:市场规模持续高速增长,反映出在线交易的繁荣。 7. **在线视频**:自制内容增长明显,丰富了网络娱乐内容。 【2014年互联网行业...

    传媒行业月度观点:“一年复始”关注超跌游戏电影,“万象新”推荐龙头芒果小米百度B站.rar

    百度,作为中国搜索引擎的巨头,其在人工智能、大数据分析以及云计算领域的技术积累,使其在传媒行业数字化转型中扮演着重要角色。百度的智能营销解决方案和AI驱动的内容推荐系统,正助力企业提升广告效率和用户体验...

    互联网行业:2020中国数字营销趋势报告.pdf

    数字营销(Digital Marketing)是通过互联网、移动设备、搜索引擎、社交媒体平台以及其他数字渠道来推广产品和服务的一种营销方式。数字营销不同于传统的营销模式,它利用数字技术来测量广告效果,提供更为精准的...

    传媒行业月度观点:“一年复始”关注超跌游戏电影,“万象新”推荐龙头芒果小米百度B站.zip

    3. 百度:作为中国搜索引擎的领军企业,百度在AI技术上的投入和成果颇丰,尤其是在自动驾驶和智能云领域。同时,百度在信息流广告和小度智能硬件上的布局也为其带来了新的增长点。 4. 哔哩哔哩(B站):作为年轻人...

    电视和互联网深度融合:统一引擎和微信电视.pptx

    综上所述,电视行业正逐步与互联网紧密结合,统一引擎、人工智能、内容与渠道的融合以及虚拟运营商等新形态正在重塑电视行业的未来。这种深度整合不仅提升了用户的观看体验,也为内容创作者和运营商带来了新的商业...

    大学生互联网创业策划书.pdf

    1. **客户服务与信息咨询**:强调互动性和个性化,提供智能化的餐饮知识库、搜索引擎,以及人性化的浏览方式。 2. **销售平台**:利用线上平台收集客户信息,进行市场调查和一对一营销,提高销售效率。 3. **网站...

    网络化学资源的获取及在中学化学教学中的应用

    1. 使用搜索引擎:搜索引擎如百度、谷歌等可以帮助教师快速定位所需资源。通过分类目录查询或关键词搜索,能有效找到特定的化学教学信息。 2. 加入专业社区和订阅服务:参与化学教育的专业论坛和邮件列表,可以及时...

    秒针&AdMaster-2020中国数字营销趋势报告(英文)-2019.12-20页.pdf

    9. **PC端广告媒体**:社交媒体超越搜索引擎,成为PC端广告投放的首选,视频网站的吸引力也有所增强。 10. **移动端广告媒体**:社交平台和视频平台(尤其是短视频)仍然是移动端的主要投放渠道,电商平台和垂直...

    搜狐2013求职面试总结

    搜狐通过其多元化的业务布局,包括搜索引擎、新闻资讯、在线视频、网络游戏、房地产、汽车等多个领域,构建了一个全面的互联网生态系统。截至2013年,搜狐拥有近1亿注册用户,日均页面浏览量超过2.5亿次,成为中国...

    功能强大的WEB数据采集系统-TopFisher2.05

    他使得一个普通的网站站长自己搭建一个强大的行业搜索引擎不再是一个梦想,当然您也可以把这些数据和信息用于价格PK,统计等其它业务上。 总之,TopFisher提供了把“分散”的信息“聚集”起来的可能,这也许意味着...

    题库型APP在西安高校大学生中应用现状研究.pdf

    题库型APP,作为一种结合了丰富题库和搜索引擎功能的在线教育平台,主要目的是帮助用户提高考试成绩和应对考试冲刺。这类APP广泛应用于学生群体,但也引发了一些争议。目前关于在线教育的研究较多,但针对题库型APP...

Global site tag (gtag.js) - Google Analytics