登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

基于Python的网络爬虫程序的设计与实现毕业论文

 2021-04-05 18:58:04  

摘 要

在这个高速发展的网络时代,每一分钟在网上产生的信息都数不胜数。然而各式各样,五花八门的网站,平台,信息分布的杂乱无章,我们甚至不知道什么样的平台会有什么样的信息。于是便产生了最先的爬虫技术,随之出现的便是百度、谷歌等搜索引擎,他们提供了快速,高效的信息获取方式。

然而,即使有了百度、谷歌等搜索引擎,他们承载的信息量还是非常巨大的,搜索之后的信息并非完全是我们需要的,我们还需要经过自主的挑选,如果我们需要获取信息的次数较多,这个过程必然会浪费很多不必要的精力,并且每次只能获取一次搜索结果,如果我们需要进行相关信息的大量存储,靠“一次搜索一次保存”这样的方式显然非常低效,为解决这一弊端,一种名叫聚焦爬虫的技术应运而生。

本文研究内容为针对特定主题的爬虫,即聚焦爬虫,目标为获取这类主题的大量网站内容并保存,并分析爬虫结果展示于网页。本文绪论主要介绍网络爬虫产生的背景和意义,国内外目前研究的状况,本文的研究目标和内容。第二章是技术分析和综述,主要介绍和分析网络爬虫的原理,流程,分析使用python编写爬虫程序的优势以及在使用python编写爬虫时对于python技术的选取和应用。第三章介绍python爬虫程序的整体设计,并对每一步具体的设计说明相对应的技术实现。第四章,完成python爬虫程序的整体实现,展示爬虫程序的运行效果,并分析运行效率。第五章是论文结束语,对本论文的工作进行总结归纳,分析不足,提出问题,并指出后续还需学习和研究的方向。

关键词:爬虫,python,新闻,搜索,web

ABSTRACT

In this era of rapid development of the Internet, every minute of information generated on the Internet are countless.However, all kinds of websites, platforms and information are distributed in such a mess that we don't even know what kind of information will be available on what kind of platform.So the first crawler technology came out.Then came Baidu, Google and other search engines, which provided a fast and efficient way to obtain information.

However, even with Baidu, Google and other search engines, the amount of information they carry is still huge.The information that comes out of the search is not exactly what we need. We have to be self-selecting.If we need to get information more times, this process will inevitably waste a lot of unnecessary energy, and we can only get search results once at a time.If we need to store a lot of relevant information, "search once, save once" is obviously very inefficient.To address this, a technology called focused crawler has been developed.

The research content of this paper is the crawler for specific subject,namely focused crawler.The goal is to get a large amount of web content on such topics and save it, and analyze the crawler results to display on the web page.The introduction of this paper mainly introduces the background and significance of the emergence of reptiles, the current research status at home and abroad, and the research objectives and content of this paper.The second chapter is the technical analysis and review, mainly introduces and analyzes the principle of web crawler, process.Analyze the advantages of using python to write crawler and the selection and application of python technology when using python to write crawler.Chapter 3 introduces the overall design of python crawler, and explains the corresponding technical implementation of each step.In chapter 4, complete the overall implementation of python crawler, show the running effect of crawler, and analyze the running efficiency.The fifth chapter is the conclusion of this paper. It summarizes the work of this paper, analyzes the deficiencies, raises questions, and points out the direction of further study and research.

KEY WORDS:Crawler;Python;News;Search;Web

目 录

第1章 绪论 1

1.1 研究背景和意义 1

1.2 研究现状分析 1

1.3 本文的研究目标和内容 2

1.4 论文结构 2

第2章 爬虫技术与python技术分析 3

2.1 网络爬虫技术分析 3

2.1.1 爬虫基本流程 3

2.1.2 相关技术分析 4

2.2 python技术分析 6

2.2.1 Requests库 6

2.2.2 Beautiful Soup库 7

2.2.3 json库 8

2.2.4 Pandas库 9

2.2.5 jieba分词 10

2.2.6 flask框架 12

2.3 本章小结 13

第3章 python爬虫程序的设计与实现 15

3.1 数据结构设计与选用 15

3.2 爬虫分部分设计与实现 16

3.2.1 url策略 16

3.2.2 抓取新闻页面具体内容 17

3.2.3 整理保存数据 18

3.3 搜索与界面展示的设计与实现 19

3.3.1搜索引擎设计与实现 19

3.3.2 界面展示设计与实现 22

3.4 本章小结 24

第4章 python爬虫程序结果展示与分析 26

4.1 结果展示 26

4.2 运行效率与占用资源分析 30

4.3 本章小结 31

第5章 总结与展望 32

5.1 论文工作总结 32

5.2 问题和展望 32

参考文献 34

致 谢 35

第1章 绪论

1.1 研究背景和意义

在这个互联网飞速发展的时代,网络上的信息千千万万,从网上获取信息也随之成为了获取信息的重要方式之一,然而网上的信息各式各样,我们需要通过每次搜索才能获取一次相关的信息。如果我们要获取大量的某一主题的相关信息,就需要用到聚焦网络爬虫技术,聚焦网络爬虫技术能根据我们设定的特定规则去获取这一系列与特定主题相关的网页内容数据,获取并解析其内容,之后保存在数据库中方便我们查阅与使用。然而这样的数据量任然很大,并且在数据库中的显示不便于阅读和使用,于是为了使查阅和使用这些信息更加的快捷,方便,为这些数据建立了索引,并搭建一个简单的web作为搜索入口,通过我们的关键词输入,能够快速的获取到特定主题中与关键词相关的内容[1-3]

因此,研究,开发这样的一个网络爬虫程序,能够使我们快速获取,保存大量的特定主题的数据,并且能够在这些数据中搜索具体的相关内容,使信息的获取和利用变得高效,这对我们获取,分析,使用网络信息具有十分重要的现实意义。

1.2 研究现状分析

网络爬虫最初被运用,是在网络开始快速发展的节点,网络上信息太多太杂,搜索引擎顺势诞生,其中原理便是爬虫技术,发展至今,爬虫技术有了很大的进步,并且爬虫被分为四类:通用网络爬虫,聚焦网络爬虫,增量式网络爬虫,Deep Web网络爬虫。

如今为人熟知的的通用搜索引擎:百度搜索,雅虎搜索,谷歌搜索等等,都是属于通用网络爬虫的成果,然而通用网络爬虫产生的结果信息量太大,查询的内容不够准确,不完全是我们想要的结果。于是聚焦网络爬虫应运而生,他能通过我们设定的规则,即编写的网页分析算法,筛除掉不需要的,无关主题的网页链接,从而获取我们特定主题的网页内容。

聚焦爬虫相比之于通用爬虫,需要解决三个问题:描述抓取目标,分析和过滤网页数据,为url制定搜索策略[4]。在研究和设计聚焦爬虫时,需要思考,解决这三个问题,掌握精确定义抓取目标的方法,研究如何制定完整,正确的搜索策略,便能完成聚焦爬虫,抓取到我们所需的特定主题的网页内容。

1.3 本文的研究目标和内容

本文的研究目标是学习网络爬虫技术的原理,理解网络爬虫是如何实现的,掌握网络爬虫的流程结构,并学习python编程技术,理解和分析python语言的优势,了解python的第三方模块的使用,学习排序算法和flask的搭建,最终使用python完成爬虫程序的实现。

本文的主要内容如下:首先对python技术和爬虫原理介绍,对比其他语言,分析使用python语言编写爬虫的优势,分析网络爬虫技术中与python结合的部分,详细说明如何使用python的库完成爬虫中具体的各部分功能,之后对网络爬虫程序进行整体设计,包括描述抓取目标,制定详细搜索方案,完成数据的保存工作,如何使用python对爬虫结果进行分析,建立索引,并确定最终呈现结果的方式。在完成程序的实现后,对程序进行运行测试,并分析其运行的效率,对整个设计和实现工作进行总结。

1.4 论文结构

本文主要对python技术和爬虫技术进行研究,利用python完成爬虫程序的编写,并使用python编写搜索引擎对爬虫结果进行分析,搭建小型flask服务对分析,搜索结果进行呈现。

本论文一共分为五章论述,每一章的具体内容如下:

  1. 绪论主要介绍当今的网络背景,网络爬虫产生的背景和意义,国内外目前研究的状况,本文的研究目标和内容以及论文结构的说明。
  2. 技术分析和综述,主要介绍和分析网络爬虫的原理,流程,分析使用python编写爬虫程序的优势以及在使用python编写爬虫时对于python技术的选取和应用。
  3. 介绍python爬虫程序的整体设计,体现设计思路,设计流程,并对每一步具体的设计说明相对应的技术实现。
  4. 完成python爬虫程序的整体实现,进行运行测试,展示爬虫程序的运行效果,并分析运行效率。
  5. 论文结束语,对本论文的工作进行适当的总结和归纳,分析系统之中还存在的不足之处,提出问题和思考,并指出后续还需学习和研究的方向。

第2章 爬虫技术与python技术分析

本章主要对网络爬虫技术,python在网络爬虫中应用的技术,python建立索引,flask搭建技术做详细的说明分析,为下章程序的设计实现做技术铺垫。

2.1 网络爬虫技术分析

2.1.1 爬虫基本流程

网络爬虫的基本流程,见图2.1

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图