基于python的网络爬虫开发与应用(附件)【字数:7975】
摘 要基于python的网络爬虫是通过爬取网页来获得用户想要的数据,但是随着21世纪网络信息和用户数据的爆炸式增长,这给我们想要获得自己想要的数据增加了非常多困难,为了能够得到自己想要的数据,本文以Python语言和Scrapy开源框架环境为基础,讲述网络爬虫的原理和使用Scrapy框架来实现对新浪微博移动端搜索页面的数据爬取,来实现爬虫的具体应用。 本文使用Scrapy开源框架设计网页爬虫,并通过scrapy框架中提供的各种方法来爬去网页、获得数据、清洗数据、存储数据。最后通过使用MongoDB数据库来存储数据。采用了设置cookie池和修改访问页面中的请求头来欺骗服务器端使得顺利访问网站并爬取数据。
Key words:crawl;scrapy;pyhton目 录
第一章 绪论 1
1.1 研究背景 1
1.2 爬虫技术发展概况 1
1.2.1 爬虫技术概述及发展历史 1
1.2.2 爬虫技术现状和面临的问题 2
1.3 网络爬虫的研究意义 2
1.4 研究目标 2
1.5 研究中遇到的关键问题 3
第 2 章 基于python网络爬虫的工作原理及相关技术介绍 4
2.1 工作原理 4
2.1.1 工作原理 4
2.1.2 工作流程及数据抓取过程分析 4
2.2 常见的抓取策略 5
2.3 Cookie 的介绍和作用 6
第 3 章 Scrapy 框架在爬虫开发中的应用 7
3.1 Scrapy 简明介绍 7
3.2 Scrapy整体架构和运行过程 7
3.3 数据的存取 9
3.4 MongoDB 数据库简介 9
第 4 章 基于 Scrapy 框架的爬虫具体实现 11
4.1 基于scrapy框架的爬虫设计介绍 11
4.1.1 爬取对象简介 11
4.1.2 总体架构设计 11
4.2 爬虫实现细节 12
4.2.1规则预设模块和信息配置模块 12
4.2.2网页抓取模块 14 *好棒文|www.hbsrm.com +Q: ^351916072^
4.3 数据的处理模块 17
第 5 章 爬虫测试与成果展示 19
5.1 测试环境 19
5.1.1 测试情况 19
5.2 数据成果和展示 19
致 谢 21
参考文献 22
第一章 绪论
1.1 研究背景
人类进入21世纪以来,尤其是2010年以后,手机、个人电脑、传感器等器物的蓬勃发展带动了互联网的广泛普及,每个人的日常生活都离不开网络。每一个旧产业都在寻求和互联网的结合以实现新技术来带动传统行业的发展。互联网+经济已经成为了经济发展的助力器,各类行业已不再是以线下发展为重点,而是将重点放在了线上和线下的双重结合,这些足以证明互联网的巨大价值。
因为互联网的发展,人们在使用网路的同时就会留下自己使用过后的痕迹,因此也就产生了用户数据,通过了解用户的数据就能分析数用户的喜好,以此来反馈给厂商。以此类推,产生出更多的价值。而今,在众多的互联网应用中,搜索引擎所产生的数据绝对是独树一帜的。每个人都要上网,因为网页上有众多我们需要的内容,这是我们获取信息的主要途径。所以这就是我为什么要设计网页爬虫,通过分析网页,获取网页的内容,进行处理以此来理解用户的喜好,和获得自己想要的大量信息。
随着互联网的蓬勃发展,数据产生的速度远超过人们自己手动获取数据的速度,网络爬虫应运而生。通过网络爬虫我们可以设计程序,设计不同的结构和数据格式自动爬去自己想要的数据和信息,减少了大量的劳动力,提高了工作的效率。但是在新世纪以来数据是最重要的资源,也是互联网厂商最宝贵的财富,所以我们需要通过不同的手段是的网页爬虫能够顺利的爬取网页的内容。有了程序就必然有算法,算法的不同必然会导致爬去信息速度的不同,当今社会上的搜索引擎大多采用了不同的算法。网络爬虫的广泛应用,产生了重大的社会价值,提高了各行业的效率,使得各行业更加了解用户需要什么。
1.2 爬虫技术发展概况
1.2.1 爬虫技术概述及发展历史
基于python 的网络爬虫它的主要功能是通过设计程序和python所带的第三方模块来实现自动目标爬取网页的内容并保存。自1990 年代开始专注于计算机的学者和程序员就开始有了网络爬虫的构想并开始了爬虫程序的设计,伴随这几十年的发展,网络爬虫技术已经日益成熟,并大规模的使用。而在网络爬虫设计和应用中,Python语言所带的第三库对于网络爬虫的开发简直就是量身定做一般,因此,如今社会上的网络爬虫大多是基于python的语言的,又由于python语言的简洁易懂使得网络爬虫的开发难度降低,这样在一定程度上推动了网络爬虫的发展。
1.2.2 爬虫技术现状和面临的问题
因为爬虫技术的发展,所以网页爬虫的设计变得越来越简单,往往用过一个类库,几行代码便能爬去到网页的内容,例如Scrapy框架详细区分了网络爬虫的各个模块,通过不同的模块实现不同的功能,简化了代码的复杂程度。但是由于互联网的爆炸发展,访问页面的人数太多,所以网页的内容实时都在改变,我们设计的爬虫获取网页的内容速度能否跟上网页的更新速度就变的非常关键。
21世纪以来,不可否认的是版权意识的显著提高,互联网厂商发布在网页上的内容可能都是有版权的,如果我们设计的爬虫在没有获得许可时,便去爬取这些信息那么这就可能是违法的。行业的正规化已经成为了网络爬虫下一步发展的关键,爬虫设计者和网页设计者之间的斗争也变得愈演愈烈,爬去和反爬取成为了技术发展的重中之重。
网页的发展其中网页变的越来越结构化这也促成了爬虫的快速发展。[6]
网页上的信息很多都具有商业目的,因此爬虫设计者需要考虑这些,而不是为了自己想要的数据,随意爬取有知识产权的信息。最后,希望网络爬虫的发展能是我们的生活变得更加便捷,减少无用功,让用户和商家之间的关系变得更加和谐。
1.3 网络爬虫的研究意义
1.了解html网页结构和前端的相关知识以及学习如今风靡的python语言和它的Scrapy 开源框架,设计自己需要的网络爬虫,这将对拓展自己的计算机技术具有重大作用。
2. 通过研究网络爬虫明白在当今大数据时代信息的重要性,掌握获取信息、数据的手段将使我们更加适应时代的要求和发展。
Key words:crawl;scrapy;pyhton目 录
第一章 绪论 1
1.1 研究背景 1
1.2 爬虫技术发展概况 1
1.2.1 爬虫技术概述及发展历史 1
1.2.2 爬虫技术现状和面临的问题 2
1.3 网络爬虫的研究意义 2
1.4 研究目标 2
1.5 研究中遇到的关键问题 3
第 2 章 基于python网络爬虫的工作原理及相关技术介绍 4
2.1 工作原理 4
2.1.1 工作原理 4
2.1.2 工作流程及数据抓取过程分析 4
2.2 常见的抓取策略 5
2.3 Cookie 的介绍和作用 6
第 3 章 Scrapy 框架在爬虫开发中的应用 7
3.1 Scrapy 简明介绍 7
3.2 Scrapy整体架构和运行过程 7
3.3 数据的存取 9
3.4 MongoDB 数据库简介 9
第 4 章 基于 Scrapy 框架的爬虫具体实现 11
4.1 基于scrapy框架的爬虫设计介绍 11
4.1.1 爬取对象简介 11
4.1.2 总体架构设计 11
4.2 爬虫实现细节 12
4.2.1规则预设模块和信息配置模块 12
4.2.2网页抓取模块 14 *好棒文|www.hbsrm.com +Q: ^351916072^
4.3 数据的处理模块 17
第 5 章 爬虫测试与成果展示 19
5.1 测试环境 19
5.1.1 测试情况 19
5.2 数据成果和展示 19
致 谢 21
参考文献 22
第一章 绪论
1.1 研究背景
人类进入21世纪以来,尤其是2010年以后,手机、个人电脑、传感器等器物的蓬勃发展带动了互联网的广泛普及,每个人的日常生活都离不开网络。每一个旧产业都在寻求和互联网的结合以实现新技术来带动传统行业的发展。互联网+经济已经成为了经济发展的助力器,各类行业已不再是以线下发展为重点,而是将重点放在了线上和线下的双重结合,这些足以证明互联网的巨大价值。
因为互联网的发展,人们在使用网路的同时就会留下自己使用过后的痕迹,因此也就产生了用户数据,通过了解用户的数据就能分析数用户的喜好,以此来反馈给厂商。以此类推,产生出更多的价值。而今,在众多的互联网应用中,搜索引擎所产生的数据绝对是独树一帜的。每个人都要上网,因为网页上有众多我们需要的内容,这是我们获取信息的主要途径。所以这就是我为什么要设计网页爬虫,通过分析网页,获取网页的内容,进行处理以此来理解用户的喜好,和获得自己想要的大量信息。
随着互联网的蓬勃发展,数据产生的速度远超过人们自己手动获取数据的速度,网络爬虫应运而生。通过网络爬虫我们可以设计程序,设计不同的结构和数据格式自动爬去自己想要的数据和信息,减少了大量的劳动力,提高了工作的效率。但是在新世纪以来数据是最重要的资源,也是互联网厂商最宝贵的财富,所以我们需要通过不同的手段是的网页爬虫能够顺利的爬取网页的内容。有了程序就必然有算法,算法的不同必然会导致爬去信息速度的不同,当今社会上的搜索引擎大多采用了不同的算法。网络爬虫的广泛应用,产生了重大的社会价值,提高了各行业的效率,使得各行业更加了解用户需要什么。
1.2 爬虫技术发展概况
1.2.1 爬虫技术概述及发展历史
基于python 的网络爬虫它的主要功能是通过设计程序和python所带的第三方模块来实现自动目标爬取网页的内容并保存。自1990 年代开始专注于计算机的学者和程序员就开始有了网络爬虫的构想并开始了爬虫程序的设计,伴随这几十年的发展,网络爬虫技术已经日益成熟,并大规模的使用。而在网络爬虫设计和应用中,Python语言所带的第三库对于网络爬虫的开发简直就是量身定做一般,因此,如今社会上的网络爬虫大多是基于python的语言的,又由于python语言的简洁易懂使得网络爬虫的开发难度降低,这样在一定程度上推动了网络爬虫的发展。
1.2.2 爬虫技术现状和面临的问题
因为爬虫技术的发展,所以网页爬虫的设计变得越来越简单,往往用过一个类库,几行代码便能爬去到网页的内容,例如Scrapy框架详细区分了网络爬虫的各个模块,通过不同的模块实现不同的功能,简化了代码的复杂程度。但是由于互联网的爆炸发展,访问页面的人数太多,所以网页的内容实时都在改变,我们设计的爬虫获取网页的内容速度能否跟上网页的更新速度就变的非常关键。
21世纪以来,不可否认的是版权意识的显著提高,互联网厂商发布在网页上的内容可能都是有版权的,如果我们设计的爬虫在没有获得许可时,便去爬取这些信息那么这就可能是违法的。行业的正规化已经成为了网络爬虫下一步发展的关键,爬虫设计者和网页设计者之间的斗争也变得愈演愈烈,爬去和反爬取成为了技术发展的重中之重。
网页的发展其中网页变的越来越结构化这也促成了爬虫的快速发展。[6]
网页上的信息很多都具有商业目的,因此爬虫设计者需要考虑这些,而不是为了自己想要的数据,随意爬取有知识产权的信息。最后,希望网络爬虫的发展能是我们的生活变得更加便捷,减少无用功,让用户和商家之间的关系变得更加和谐。
1.3 网络爬虫的研究意义
1.了解html网页结构和前端的相关知识以及学习如今风靡的python语言和它的Scrapy 开源框架,设计自己需要的网络爬虫,这将对拓展自己的计算机技术具有重大作用。
2. 通过研究网络爬虫明白在当今大数据时代信息的重要性,掌握获取信息、数据的手段将使我们更加适应时代的要求和发展。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/22.html