python框架下主题的数据爬取技术研究与实现(源码)【字数:7118】
摘 要在当今人们的日常生活中,通过上网获取自己所需要的东西已经成为了人们日常生活中必不可少的一部分。然而,现在的系统前端往往做的很复杂,查看商品或者资源往往要点击跳转好几个页面,随着用户浏览时间的增长,往往会出现一种眼花缭乱的感觉。如果能把用户需要的信息像Excel表格里的数据一样展现在用户面前(只展现必要的数据,去除其他不必要的信息),这会大大提高用户筛选资源的时间和效率。本论文以Python语言爬取数据为研究对象,以Java与Python作为开发语言,Eclipse与Pycharm为开发工具,配合上Java中的Spring框架,Mybatis框架,SpringMvc框架以及Python语言中几个常用的库来爬取目标网站的数据。整个项目分为两大板块爬取数据模块以及展示数据模块。其中爬取数据模块是本文的重点研究对象。通过一系列的爬取与测试,最后成功爬取到了一些目标网站的数据并且展示到自己的页面上,基本实现了预期的目标。
Key words:Crawl; Page analysis; Data capture; Python; Scrapy目 录
第一章 绪论 1
1.1研究背景 1
1.2研究目的和意义 1
1.3研究内容 1
1.4论文组织 2
第二章 爬取技术 3
2.1Python语言介绍 3
2.2Scrapy库介绍 3
2.3BeautifulSoup库与Requsts介绍 4
2.4爬虫介绍 4
第三章 研究方法与流程 6
3.1研究过程中需要用到的开发工具及环境 6
3.2研究方法 6
3.3流程图 6
第四章 我的爬虫实现 8
4.1爬取模块 8
4.1.2信息匹配与检索 8
4.1.3检测状态码 11
4.1.4爬取代码展示 11
4.1.5录入到数据库 13
4.2读取展示模块 13
第五章 问题与解决方案 17
5.1爬虫被封禁 17
5.2多主题爬取 17
5.3加密的传参 1 *好棒文|www.hbsrm.com +Q: ^351916072*
8
5.4总结 19
结束语 20
致 谢 21
参考文献 22
第一章 绪论
1.1研究背景
随在大数据时代,人们已经习惯于上网获取自己想要的数据,但是在浏览网页的时候,人们会被网页各种各样的无效信息所迷惑,导致花费很长的时间都不一定能浏览到自己想要的数据。随着技术的不断发展,Python作为一门易学习,易入手的编程语言已经受到越来越多程序员的青睐。但是随着技术的不断发展,各个网站的反爬虫机制也日渐成熟,所以市面上所存在的一些爬虫程序已经不能正确的爬取到用户想要的信息。因此,一个能正确爬取数据的爬虫项目也是市场上所需要的。
1.2研究目的和意义
在互联网的快速发展下,居家旅行已经离不开了互联网。然而,互联网上的数据又多又杂,人们无法在一张页面上获取到尽可能多的数据。因此,爬取不同网页上的更多的数据已经成为了一种趋势。本文研究目的就是尽可能多的从目标网站上爬取自己想要的信息来提高我们的效率。
在当今人们的日常生活中,通过上网获取自己所需要的东西已经成为了人们日常生活中必不可少的一部分。然而,现在的系统前端往往做的很复杂,查看商品或者资源往往要点击跳转好几个页面,随着用户浏览时间的增长,往往会出现一种眼花缭乱的感觉。如果能把用户需要的信息像Excel表格里的数据一样展现在用户面前(只展现必要的数据,去除其他不必要的信息),这会大大提高用户筛选资源的时间和效率。对于某些人来说,时间就是金钱,所以打造一个在一张页面上获取到尽可能多的数据的系统必定会提高这些人的日常生活效率!
1.3研究内容
本论文研究的主要内容是如何从目标网页上爬取自己想要的信息。我选择使用Python作为爬取技术的编程语言,调用Python语言中一些比较成熟的库来实现,如:BeautifulSoup库,Requests库和Scrapy库,配合上Mysql数据库。数据展示方面我选择使用Java语言作为基础并且配合上Spring,MyBatis,SpringMvc三大框架将爬取到的数据展示到自己的页面上[1]。
本应用主要分为两大模块:
爬取模块:使用Python语言来模拟正常用户来浏览目标网页并依据网页的一些前端代码来确定目标信息的位置。确定好了目标信息后使用Request库来向目标站点发起请求,使用BeautifulSoup库来解析目标信息所隐藏的位置。最后将获取的数据保存到本地的数据库中。
展示模块:展示模块使用Java语言,基于Spring,MyBatis,SpringMvc三大框架,将数据库中录入的信息展示到自己的网站页面上。[2]
1.4论文组织
本论文的组织结构如下:
第一章:绪论。介绍了本论文的研究背景,研究目的与意义。
第二章:爬虫技术。具体介绍了用Python实现爬虫时需要的一系列库与Python这门语言的优势。
第三章:研发方法与流程。具体介绍了如何实现研究目标与爬虫流程。
第四章:我的爬虫实现。详细介绍了是如何实现爬虫应用的设计。
第五章:问题与解决策略。针对开发爬虫程序时遇到的难题进行了分析,给出对应的解决方案。第二章 爬取技术
2.1Python语言介绍
Python是今年来比较火热的一门编程语言,我选择用它来开发爬虫部分是因为他有以下几点优势。第一,Python清晰简洁的语法相比于Java语言调试起来更加方便。第二,Python有许多优秀的第三方库,开发爬虫模块涉及到的库已经是非常成熟的了,使用起来十分方便[3]。第三,Python作为一门脚本语言非常适合小应用的开发。
然而这门语言也有一些劣势,由于它定义一些变量时不用再前面加上类型,因此编译器要一个一个验证每个变量的类型,所以消耗的时间会非常的久,相比于Java语言就会慢了很多。本次论文的研究对象只是一个爬虫,所以这些劣势可以忽略不计。
2.2Scrapy库介绍
Key words:Crawl; Page analysis; Data capture; Python; Scrapy目 录
第一章 绪论 1
1.1研究背景 1
1.2研究目的和意义 1
1.3研究内容 1
1.4论文组织 2
第二章 爬取技术 3
2.1Python语言介绍 3
2.2Scrapy库介绍 3
2.3BeautifulSoup库与Requsts介绍 4
2.4爬虫介绍 4
第三章 研究方法与流程 6
3.1研究过程中需要用到的开发工具及环境 6
3.2研究方法 6
3.3流程图 6
第四章 我的爬虫实现 8
4.1爬取模块 8
4.1.2信息匹配与检索 8
4.1.3检测状态码 11
4.1.4爬取代码展示 11
4.1.5录入到数据库 13
4.2读取展示模块 13
第五章 问题与解决方案 17
5.1爬虫被封禁 17
5.2多主题爬取 17
5.3加密的传参 1 *好棒文|www.hbsrm.com +Q: ^351916072*
8
5.4总结 19
结束语 20
致 谢 21
参考文献 22
第一章 绪论
1.1研究背景
随在大数据时代,人们已经习惯于上网获取自己想要的数据,但是在浏览网页的时候,人们会被网页各种各样的无效信息所迷惑,导致花费很长的时间都不一定能浏览到自己想要的数据。随着技术的不断发展,Python作为一门易学习,易入手的编程语言已经受到越来越多程序员的青睐。但是随着技术的不断发展,各个网站的反爬虫机制也日渐成熟,所以市面上所存在的一些爬虫程序已经不能正确的爬取到用户想要的信息。因此,一个能正确爬取数据的爬虫项目也是市场上所需要的。
1.2研究目的和意义
在互联网的快速发展下,居家旅行已经离不开了互联网。然而,互联网上的数据又多又杂,人们无法在一张页面上获取到尽可能多的数据。因此,爬取不同网页上的更多的数据已经成为了一种趋势。本文研究目的就是尽可能多的从目标网站上爬取自己想要的信息来提高我们的效率。
在当今人们的日常生活中,通过上网获取自己所需要的东西已经成为了人们日常生活中必不可少的一部分。然而,现在的系统前端往往做的很复杂,查看商品或者资源往往要点击跳转好几个页面,随着用户浏览时间的增长,往往会出现一种眼花缭乱的感觉。如果能把用户需要的信息像Excel表格里的数据一样展现在用户面前(只展现必要的数据,去除其他不必要的信息),这会大大提高用户筛选资源的时间和效率。对于某些人来说,时间就是金钱,所以打造一个在一张页面上获取到尽可能多的数据的系统必定会提高这些人的日常生活效率!
1.3研究内容
本论文研究的主要内容是如何从目标网页上爬取自己想要的信息。我选择使用Python作为爬取技术的编程语言,调用Python语言中一些比较成熟的库来实现,如:BeautifulSoup库,Requests库和Scrapy库,配合上Mysql数据库。数据展示方面我选择使用Java语言作为基础并且配合上Spring,MyBatis,SpringMvc三大框架将爬取到的数据展示到自己的页面上[1]。
本应用主要分为两大模块:
爬取模块:使用Python语言来模拟正常用户来浏览目标网页并依据网页的一些前端代码来确定目标信息的位置。确定好了目标信息后使用Request库来向目标站点发起请求,使用BeautifulSoup库来解析目标信息所隐藏的位置。最后将获取的数据保存到本地的数据库中。
展示模块:展示模块使用Java语言,基于Spring,MyBatis,SpringMvc三大框架,将数据库中录入的信息展示到自己的网站页面上。[2]
1.4论文组织
本论文的组织结构如下:
第一章:绪论。介绍了本论文的研究背景,研究目的与意义。
第二章:爬虫技术。具体介绍了用Python实现爬虫时需要的一系列库与Python这门语言的优势。
第三章:研发方法与流程。具体介绍了如何实现研究目标与爬虫流程。
第四章:我的爬虫实现。详细介绍了是如何实现爬虫应用的设计。
第五章:问题与解决策略。针对开发爬虫程序时遇到的难题进行了分析,给出对应的解决方案。第二章 爬取技术
2.1Python语言介绍
Python是今年来比较火热的一门编程语言,我选择用它来开发爬虫部分是因为他有以下几点优势。第一,Python清晰简洁的语法相比于Java语言调试起来更加方便。第二,Python有许多优秀的第三方库,开发爬虫模块涉及到的库已经是非常成熟的了,使用起来十分方便[3]。第三,Python作为一门脚本语言非常适合小应用的开发。
然而这门语言也有一些劣势,由于它定义一些变量时不用再前面加上类型,因此编译器要一个一个验证每个变量的类型,所以消耗的时间会非常的久,相比于Java语言就会慢了很多。本次论文的研究对象只是一个爬虫,所以这些劣势可以忽略不计。
2.2Scrapy库介绍
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/43.html