• 基于python的网络爬虫搜索引擎的设计


    项目介绍

    随着互联网的飞速发展,web已经成为人们主要的检索,和发布的主要平台,在海量的数据中如何快速,准确的找到用户所需要的信息成为人们当前所需求的,而网络爬虫就是为了满足这一需要而产生的研究领域。在现实中我们的资源是有限的,如何在有限的资源中区分我们每个人不同的需求,有的想听歌,有的想看电影,而有的是工作需要的机密文件,不想让别人看,只能自己看等等一系列这样的问题,他能保护每个人的隐私以及满足不同人的需求,因此,分不同用户区分爬取内容还是有研究必要的。

    在检索信息和搜集信息中实现web信息展示,核心在于设计网络爬虫模块,主要是全文搜索引擎模块。本文主要设计了全文搜索并实现页面搜集器的详细介绍,该工作流程影响到核心算法和数据的存储,克服了该技术难点,实现良好的实际运行和良好的效果,进一步改进引擎效果。
    本网站基于B/S模式对该爬虫网站进行设计,并要求爬取的操作简单,多用户数据鲜明,开发一个爬虫网站实现对多用户管理,数据分层管理,并且把数据存储到指定的数据库中。区分出重复的网页,解决去重问题;加上主题的相关性;更快速的抓取数据;存储数据;实现数据可视化。
    关键词:搜索引擎; 网络爬虫; 信息检索; 页面索引

    使用python提供的开放源代码django应用框架,Django 更关注的是模型(Model)、模板(Template)和视图(Views),也就是MTV模式。

    想要打开登录界面,可以使用操作如下:
    (1) 安装python3.6 版本
    (2) 安装 Django库 1.11.4版本 pip install Django==1.11.14
    (3) 安装 selenium库 3.141.0 pip install selenium
    (4) 安装 jieba库 0.39版本 pip install jieba
    (5) 在命令行下进入 xxx\Web_Spider_Demo\mysite_login\的目录下,运行manage.py(运行方法:python manage.py runserver),成功运行后,打开浏览器(google),输入网页主页:127.0.0.1:8000/index。
    (6) 在登录时,使用注册时候的账号密码就可以登录自己的界面,获取填写的数据是否和注册时候的信息进行对比,如果相同,就可以登录进入,使用该网站的功能。

    爬虫搜索
    设计从网页中选择其中一部分的url,将url放入url队列中,对这些url中的链接进行解析,将内容下载下来,将其存储在固定的页面库中,建立对应的索引,从中抽取出所包含的所有链接信息如果分析中该url没有在缓存中出现过,则这个url调度下的队列就会被重新抓取一遍,直到抓取到对应的网页为止。完成一个完整的抓取过程,出现的爬虫有很多种类:
    (1)批量型爬虫(Batch Crawler):分批次对数据进行抓取想要得到的目标和范围,当爬虫达到这个设定的目标后,即停止抓取过程。至于具体目标可能各异,也许是设定抓取一定数量的网页即可,也许是设定抓取消耗的时间等。
    (2)增量型爬虫(Incremental Crawler):在抓取的过程中如果出现新增的网页,机制就会更新网页,可以实现通用的搜索引擎来实现增量的处理。
    (3)垂直型爬虫(Focused Crawter):针对不同的特定主题内容,不同的特定行业的网页,就可以从互联网页而里找到与健康相关的页面内容即可,其他行业的内容不在考虑范围。垂直型爬虫一个最大的特点和难点就是:如何识别网页内容是否属于指定行业或者主题。

    效果图

    请添加图片描述
    请添加图片描述
    目录
    1 引言 3
    1.1 发展背景 4
    1.2 研究现状 4
    2 页面设计 6
    2.1 基本工作原理 6
    2.2 网页设计 6
    2.2.1 注册 7
    2.2.2 登录 8
    2.2.3 爬虫搜索 8
    3 功能实现 10
    3.1 基本工作原理 10
    3.2 jieba库 10
    4 数据库设计 10
    5 测试 11
    5.1 设计问题 11
    5.2 问题层次 12
    5.3 测试评定 12
    5.4 测试的设计 12
    6 结语 13
    参考文献 13
    致谢 16

  • 相关阅读:
    Pycharm出现的一些问题和解决办法
    [数据结构] 图---图的邻接矩阵存储方式模拟实现,包括BFS广度优先遍历和DFS深度优先遍历(上)
    Java SE 学习笔记(十四)—— IO流(2)
    ZYNQ之HLS学习----开篇实验
    视频怎么消除人声?一款视频去人声软件,轻松去除视频人声
    竞赛 深度学习驾驶行为状态检测系统(疲劳 抽烟 喝水 玩手机) - opencv python
    MasaFramework -- 锁与分布式锁
    计算机毕设 大数据上海租房数据爬取与分析可视化 -python 数据分析 可视化
    java-python-php音乐分享网站播放器系统vue+elementui
    致与青春同行的代码
  • 原文地址:https://blog.csdn.net/QQ2083558048/article/details/133351883