首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

自持行业搜索引擎

2012-10-26 
自制行业搜索引擎???? 呵呵,这一段时间尽在瞎鼓捣一些东西,看看结果吧:仪器仪表搜索???? 这个引擎的基本制

自制行业搜索引擎
???? 呵呵,这一段时间尽在瞎鼓捣一些东西,看看结果吧:仪器仪表搜索
???? 这个引擎的基本制作思路如下:
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)、建立搜索,并自定义分词技术、排序和高亮的规则,然后进行查询。
其中,建立索引已经改造,搜索的排序算法和竞价还在开发当中。搜索不够准确也是迫在眉睫的事。
如果大家有什么好的建议可以互相交流。 1 楼 kevin-qma 2007-10-24   o 这样的啊 2 楼 imjl 2007-10-24   10分钟近万条

近1个月内10万条


这数字看起来真别扭。

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



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

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

当然要求不一样,也不大好说。 7 楼 linzh 2008-02-19   我公司有个行业搜索的项目,想请你参与,请你致电13602621892林先生联系,或者发送邮件至linzh@twicechina.com 8 楼 btprince 2008-02-19   你爬我也爬,把网络爬死算了,可以直接使用baidu,google等搜索引擎把范围缩小,然后再后处理筛选自己需要的内容。 9 楼 imjl 2008-02-20   btprince 写道你爬我也爬,把网络爬死算了,可以直接使用baidu,google等搜索引擎把范围缩小,然后再后处理筛选自己需要的内容。


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

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


要做好,必须要建立自己的数据平台。 10 楼 waldenlake 2008-02-20   1 .你的效率比较低 一月10万? 我以前也做se玩 单机多线程一天10万差不多(好像还是低),是不是通用的和行业的爬虫效率不同?
2 .行业的专业性很重要。应该还有一些策略来净化搜索内容,比如导向词,专用词库。
3 .有位javaeyer曾经给我留言,抓取不是重点,后续工作才是重要的。 11 楼 jomper 2008-02-20   同意,后续工作才是重点.
不过抓取用python更高效。 12 楼 swantt 2008-02-21   htmlunit也行. 我们这边是用得这个. 13 楼 coreymylife 2008-02-23   觉得要通用的话,有待大家实现一个诸如rss一样的标准格式,但是没貌似可能性没有 14 楼 咖啡舞者 2008-02-27   互联网数据虽大,但是现在用一个 关键词 很难找到不同的技术文章了。
搜索引擎需要做到把重复内容的排除,然后找到文章原出处就好了,呵呵 15 楼 ispring 2008-10-06   严重同意,后续工作才是重点。抓取只是一些规则的定义

热点排行