美文网首页程序员
搜索引擎踩过的坑

搜索引擎踩过的坑

作者: 1c5c99819799 | 来源:发表于2018-05-06 22:25 被阅读0次

    在网上搜到IBM社区一个博主,有关搜索引擎的教程,于是便拿来学习,以下是在学习过程中踩过的坑,教程及其源码附上百度云盘链接 密码:t80r

    首先说一下,该教程讲述详细,以及有配套源代码(带有注释),根据该教程可以制作一个简单的搜索引擎。

    当时自己摸索,最终算是根据教程完成了搜索引擎的编写,以下是我踩过的坑,记录一下。

    一,爬虫阶段。

    1,该教程给的爬虫程序,我尝试着跑了一下,总是跑不几个网页,就会出现错误。该教程将爬取的数据存储在五个txt格式文档里,但是运行之后,总会出现最后一个文档不能写入数据,即只有前四个文档有,如果将存储文档变少,那么还是会出现最后一个文档不能写入。总之在文档存储时会出现问题。

    2,这份教程写于2010年,不知道当时的前端技术如何,反正经过此程序下载下来的页面,也是不全面的,有些页面数据需要一些处理之后,才能得到,我觉得这份教程的爬虫只是简单模拟浏览器请求,比如对于百度页面的请求下载就是很简单的页面,<script></script>这样的代码就请求不到,更别说一些<meta>标签的数据了。

    3,示例爬虫的架构,我觉得值得学习。

    4,爬虫爬取的时候,因为有的网页用的UTF-8编码,有的用的GBK编码,这个在爬取时需要注意,不然爬取下来的网页容易乱码。

    解决方法:放弃原有的爬虫,选择学习了一个爬虫框架,学习的是WebMagic,解决了爬虫阶段爬取数据的问题。

    二,数据预处理阶段

    1,该教程的数据库表没有给出,根据给的源码和教程,我推出数据库表有以下几列:ID、url、content、offset、raws。

    2,该教程的预处理制作索引时,如果前期爬取的网页有乱码,就会导致此阶段的制作索引流程出现问题,当时我出现的问题只能制作前几个无乱码的网页,后面从出现乱码的地方都打印出的索引数目都是0️⃣。

    3,该教程给出的词典词库并不全,且是2010年前的词库,对于现今常见的词汇可能并不含有,所以相应的索引也无法建立。

    4,在过程中会涉及好多路径的问题,要注意路径的编写,是否是获取路径还是获取文件,要注意。

    三,查询服务阶段

    系统及软件macOS 10.12.6,Eclipse 4.7,Tomcat 8.5版本。

    1,这个阶段出现的问题就是,搭建好服务器并编写好页面后,在控制台可以查询输出,但是通过页面传值后,就无法返回数据。经查是Eclipse编码出现了问题,我设置成了GBK编码,将其改为与网页的UTF-8编码相同即可。

    相关文章

      网友评论

        本文标题:搜索引擎踩过的坑

        本文链接:https://www.haomeiwen.com/subject/ylkprftx.html