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

搜索引擎踩过的坑

作者: 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编码相同即可。

相关文章

  • 搜索引擎踩过的坑

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

  • 交互设计师所要避免的几个坑

    前言 工作中难免会踩到几个坑,即使现在不踩以后还会踩,只有踩过才会深刻记住,踩过说明爱过!但是踩过的坑必须把坑填满...

  • Android 周报第十六期

    1)填坑手册 学习 Android 至今,大大小小的坑没少踩过,庆幸的是,在强大的搜索引擎与无私奉献的人们的帮助下...

  • vue踩过的坑

    vue踩过的坑

  • D1094:踩坑的价值最大化

    是人就会踩坑,不踩坑理论上就不属于人类,踩坑是人之常情,能回头站在坑边反思,才是对踩过的的坑价值最大化的体现,要不...

  • 投资避坑指南

    2022年9月14日(第224天) 经常反思踩过的坑,犯过的错,了解别人踩过的坑,犯过的错,思考如何避免自己下次踩...

  • PHP中的数据类型

    一说到数据类型,这个坑就太多了,多到有哪些坑,有多少坑,不知道自己还会踩哪些坑,以及踩过的坑还会不会再踩,我对...

  • 踩过的坑

    1、关于Windows下修改hosts文件无法生效,刚开始直接用浏览器打开发现404,后来ping域名才发现是连接...

  • 踩过的坑

    问题: 虚拟机中一打开metasploit就死机。 答: 发现虚拟机分配内存512M。分配2G后,正常。 问题: ...

  • 踩过的坑

    虚拟机/远程桌面实验室1&7:VNC远程桌面实验室2~6:VM虚拟机 VM虚拟机连接成功后不显示虚拟机资源库方法:...

网友评论

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

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