基于Scrapy框架的网络爬虫实现与数据抓取分析
本文选题:爬虫 切入点:Scrapy 出处:《吉林大学》2017年硕士论文 论文类型:学位论文
【摘要】:随着信息时代的发展和编程技术的普及,搜索引擎成为了人们日常生活中的必须品。搜索引擎大多使用爬虫技术作为核心模块,通过关键词返回用户查询的结果。但是网络信息呈现爆炸式的增长,使得信息的查找和定位也变得困难。针对上述问题,本文以Python和Scrapy环境为基础,以“新浪微博”为爬取对象,在学习并分析当前爬虫技术的原理、核心模块以及运行流程的基础上,探索性地实现一个基于Scrapy框架的网络爬虫,完成数据抓取等目标。首先,本文简明给出了爬虫技术的原理和发展现状,介绍爬虫工程中一些关键技术,并着重介绍了在本研究中有深刻影响的Cookie和Robot协议。其次,通过使用基于Python语言开发的Scrapy开源爬虫框架来进行爬虫开发,指出了Mongo DB为代表的No Sql数据库在元数据存储中的巨大作用。详细介绍了Scrapy开发爬虫的流程和实现细节。再次,讨论了对于爬虫设计领域的关键问题,本文实现的自定义爬虫的解决方法。采用了更换Cookie和user-agent欺骗来突破站点限制。而URL去重和多线程并发的问题,则采用并分析Scrapy自带的解决方案。最后对爬虫进行测试并展示成果,思考存在的问题和改进的可能。
[Abstract]:With the development of information age and the popularization of programming technology, search engine has become a necessity in people's daily life. Most search engines use crawler technology as the core module. The result of user query is returned by key words. However, the explosive growth of network information makes it difficult to find and locate information. In view of the above problems, this paper is based on Python and Scrapy environment. Taking "Sina Weibo" as the object of crawling, on the basis of studying and analyzing the principle, core module and running flow of current crawler technology, this paper explores the realization of a web crawler based on Scrapy framework and accomplishes the goal of data capture. This paper briefly introduces the principle and development of crawler technology, introduces some key technologies in reptile engineering, and emphatically introduces the Cookie and Robot protocols which have profound influence in this research. By using Scrapy open source crawler framework based on Python language to develop crawlers, this paper points out the great role of No Sql database represented by Mongo DB in metadata storage, and introduces in detail the process and implementation details of Scrapy crawler development. This paper discusses the key problems in the domain of crawler design, and the solution of custom crawler in this paper. The replacement of Cookie and user-agent spoofing is used to break through the limit of site, while the problem of URL deduplication and multithreading concurrency is discussed. Finally, we test the reptiles and show the results, think about the existing problems and the possibility of improvement.
【学位授予单位】:吉林大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP391.3
【相似文献】
相关期刊论文 前10条
1 尹江;尹治本;黄洪;;网络爬虫效率瓶颈的分析与解决方案[J];计算机应用;2008年05期
2 戚欣;;基于本体的主题网络爬虫设计[J];武汉理工大学学报;2009年03期
3 彭轲;廖闻剑;;基于浏览器服务的网络爬虫[J];硅谷;2009年04期
4 王江红;朱丽君;李彩虹;;一种新型网络爬虫的设计与实现[J];微计算机信息;2010年03期
5 孙立伟;何国辉;吴礼发;;网络爬虫技术的研究[J];电脑知识与技术;2010年15期
6 杨靖韬;陈会果;;对网络爬虫技术的研究[J];科技创业月刊;2010年10期
7 于成龙;于洪波;;网络爬虫技术研究[J];东莞理工学院学报;2011年03期
8 李志义;;网络爬虫的优化策略探略[J];现代情报;2011年10期
9 焦赛美;;网络爬虫技术的研究[J];琼州学院学报;2011年05期
10 宋海洋;刘晓然;钱海俊;;一种新的主题网络爬虫爬行策略[J];计算机应用与软件;2011年11期
相关会议论文 前4条
1 夏诏杰;郭力;李晓霞;;化学主题网络爬虫的研究[A];第十届全国计算(机)化学学术会议论文摘要集[C];2009年
2 李楠;谷利泽;钮心忻;;用于XSS扫描的网络爬虫的设计与实现[A];2010年全国通信安全学术会议论文集[C];2010年
3 张军;于浩;内野宽治;;UGC中产品评论信息的挖掘[A];内容计算的研究与应用前沿——第九届全国计算语言学学术会议论文集[C];2007年
4 徐剑;柯贵明;;网络爬虫技术在搜索引擎中的应用[A];全国第21届计算机技术与应用学术会议(CACIS·2010)暨全国第2届安全关键技术与应用学术会议论文集[C];2010年
相关硕士学位论文 前10条
1 陶俊文;基于Heritrix框架的专业镇信息网络爬虫系统[D];华南理工大学;2015年
2 马汉超;基于主题网络爬虫的汽车行业多元信息web系统设计与实现[D];西南交通大学;2015年
3 李威;基于交通流量图的交通信息提取技术研究[D];长安大学;2015年
4 朱嵘良;分布式并行环境下的网络爬虫研究[D];中央民族大学;2015年
5 周思华;股票系统之热门话题发现子系统的设计与实现[D];哈尔滨工业大学;2015年
6 丁杰;基于网络爬虫的虚假网页主动智能检测[D];华北电力大学;2015年
7 唐华栋;网页防抓取系统的设计与实现[D];哈尔滨工业大学;2015年
8 白剑飞;基于层次主题模型的网络新闻汇聚[D];浙江大学;2015年
9 袁野;企业内网搜索引擎关键技术研究与实现[D];电子科技大学;2014年
10 滕以芳;基于本体的多媒体素材网络爬虫设计与实现[D];吉林大学;2015年
,本文编号:1612628
本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/1612628.html