毕业论文-基于Python的网络爬虫设计x.docx
《毕业论文-基于Python的网络爬虫设计x.docx》由会员分享,可在线阅读,更多相关《毕业论文-基于Python的网络爬虫设计x.docx(19页珍藏版)》请在冰豆网上搜索。
![毕业论文-基于Python的网络爬虫设计x.docx](https://file1.bdocx.com/fileroot1/2022-10/4/d935cbb4-d3e0-4bf8-89ff-e9ba0031c483/d935cbb4-d3e0-4bf8-89ff-e9ba0031c4831.gif)
基于Python的网络爬虫
摘要
随着计算机技术的不断发展,新的编程语言层出不穷,Python,Html正是其中的佼佼者。
相比较早期普及的高级语言(Java,C语言)等,Python有着更加实用的模块和库,虽然牺牲了底层性,但却更加方便用于开发小型项目。
此外,Html也已经被普遍用于网站前端,标记语言的特性结合CSS丰富了网页内容和形式,某种意义上也促进了更加人性化的电子商务系统的发展。
本文的网络爬虫正式基于Python语言编写的,通过对Html抓取加工将数据可视化,以监测逐渐从线下转移到线上,并随着电子商务发展越发简单普遍难以追踪的非法野生动物贸易。
本文首先对计算器语言的发展,尤其是Python和Html的优势、基础概念以及性能进行介绍。
最后着重介绍可以实现检测网络上非法野生动物贸易的爬虫的设计和实现。
程序主要包括三个模块:
URL解析,Html抓取,本地输出。
Python的开发环境和工具分别是OSX和PyChramCE,主要调用了Python中的Urllib2,beautifulsoup模块。
最终的程序可以实现对指定网站,指定关键词抓取指定内容,保存内容到本地,以便于追踪和检测。
关键字:
Python,HTML,爬虫,非法野生动物贸易
II
Python-Based"Illegalwildlifetrade"Spider
Electronics&InformationTechnologyProgram11-1
HaozhiZhuSupervisor RuiZhaoAbstract
Withthecontinuousdevelopmentofcomputertechnology,thenewprogramminglanguageafteranother,Python,Htmlistheoneofthebest.Comparedtotheearlypopularityofhigh-levellanguage(Java,Clanguage),etc.,Pythonhasamorepracticalmodulesandlibraries,althoughattheexpenseoftheunderlyingproperty,butitismoreconvenientforthedevelopmentofsmall-scaleprojects.Inaddition,Htmlhasalsobeenwidelyusedwebfrontend,featurerichCSSmarkuplanguagebindingofwebcontentandform,inasensealsopromotedthedevelopmentofamoreuser-friendlye-commercesystem.Inthispaper,basedontheofficialwebcrawlerwritteninPython,Htmlcrawlingthroughthedatavisualizationprocesstomonitorthegradualshiftfromofflinetoonline,andwiththedevelopmentofelectroniccommercemoresimpleuniversaluntraceableillegalwildlifetrade.
Firstly,thedevelopmentofthecalculatorlanguage,especiallyPythonandHtmladvantages,basicconceptsandperformanceareintroduced.Thelastfocusesonthedesignandimplementationcanbeachievedillegalwildlifetradeonthereptiledetectionnetwork.Programincludesthreemodules:
URLparsing,Htmlcapture,datavisualizationoutput.PythondevelopmentenvironmentandtoolsareOSXandPyChramCE,mainlycallinPythonUrllib2,reandosmodule.
Thefinalprogramcanbespecifiedsitedesignatedkeywordtocrawlthespecifiedcontent,andoutputinPC,inordertotrackanddetect.
Keywords:
Python,Html,spider,Illegalwildlifetrade
目录
IV
基于Python的网络爬虫 I
Python-Based"Illegalwildlifetrade"Spider II
—绪论 1
1.1毕业设计背景与目的 1
1.2国内外研究状况 1
1.3论文结构和内容 1
二相关技术介绍 2
2.1Python语言 2
2.1.1Python语言的产生和发展历史 2
2.1.2Python语言的原理 3
2.1.3Python语言的特色 3
2.1.4python语言的缺点 4
2.2URL 4
2.2.1URL的定义 4
2.2.2URI和URL的对比和举例 4
2.2.3URL组成 4
2.3Html 5
2.3.1定义 5
2.3.2Html原理 5
2.3.3Html特点 5
2.4开发工具 5
2.4.1Chrome 5
2.4.2PycharmCE 6
2.4.3终端 6
三项目需求及设计 7
3.1输入板块分析 7
3.2需要抓取的内容 8
3.3本地输出 8
四项目分析及实现 9
4.1输入模块 9
4.1.1目标网站URL 9
4.1.2Urillib2模块 9
4.1.3伪装 9
4.2抓取模块 9
4.2.1URL与html 9
4.2.2BeautifulSoup库 9
4.2.3抓取方法 9
4.3输出模块 10
4.5最终效果 11
五项目测试 12
5.1抓取结果错误测试 12
5.2显示结果错误测试 12
5.3网络连接测试 12
六结论 13
6.1收获与成长 13
6.2不足与展望 13
致谢 14
参考文献 15
—绪论
1.1毕业设计背景与目的
近些年,随着以“淘宝”为首的电子商务技术快速发展,越来越多的线下交易逐渐走向线上,其中就包括非法野生动物制品贸易。
技术的进步,让大量的非法野生动物贸易成为可能,其灵活的展示方式和便捷的交易方式不仅让网络上相关的交易越发繁荣,相关信息的繁多与复杂也让仅通过人力查看监控变得越发艰难。
与之对应的是搜索引擎技术的发展。
比如google,百度。
虽然网络中的信息越来越多,越来越复杂,搜索引擎却可以针对某一个关键词对全网进行有效的搜索。
不过它们程序的技术内幕一般都不公开,此外庞大的搜索引擎最终显示的结果是全网络遍历结果的最优解,而很难做到有效搜索针对性网站针对关键词的搜索。
并且,搜索引擎为了节约搜索速度,多使用比较底层的高级语言编写,庞大且复杂,并不是很好的参考对象。
一方面是网络上越发猖獗的野生动物贸易,越来越多的交易使用黑话、特别的缩写在一些小众网站中形成稳定的供应链和交易圈。
另一方面搜索引擎技术虽然发展迅速却难以针对性的监测,不断变化的黑话和网站小众性的干扰更让批量抓取信息方便监测变得越发困难。
对于这种困境,使用针对性设计网络爬虫来监测相关的交易是一个相当不错的选择。
不同于搜索引擎,爬虫程序是一个自动获取网页的程序,可以对针对性的网页内容中的特定内容,做出有效的抓取,并按照设计保存在本地,方便使用。
并且,区别于传统的爬虫和引擎,我选择使用Python来编写爬虫。
不同于传统高级语言(C,Java等),Python相对简单易于完成小型项目,其丰富的模块和良好的兼容性也让用其成为编写爬虫程序的优秀选择之一。
1.2国内外研究状况
正如上文所提到的,爬虫在搜索引擎中比较普遍。
目前几种比较常用的爬虫实现策略:
广度优先的爬虫程序,Repetitive爬虫程序,定义爬行爬虫程序,深层次爬行爬虫程序。
此外,还有根据概率论进行可用Web页的数量估算,用于评估互联网Web规模的抽样爬虫程序;采用爬行深度、页面导入链接量分析等方法,限制从程序下载不相关的Web页的选择性爬行程序等等。
事实上
Google的部分爬虫程序就是基于Python的,但由于Python自身的限制,更多是作为一种粘合剂配合其他语言编写的内核运行。
此外,由于网络非法野生动物贸易的监控并不具有商业性质以及其较为复杂和独特的小众需求,并无相关的企业从事相关工作。
并且由于WWF组织本身的成员多以生物学家为主,并没有相关的专业人员从事相关开发。
1.3论文结构和内容
全文介绍了基于Python的网络爬虫从确定论题到最终实现效果的过程,具体内容入下:
(1)第—章绪论主要说明本次毕业设计项目的背景和目的,包括国内外研究现状以及本次论文的结构。
(2)第二章相关技术介绍主要说明本次毕业设计项目涉及到的相关语言和对应的工具,包括
Python,Html,URL等,以及相关的开发工具Chrome,PycharmCE。
(3)第三章项目需求与设计主要说明本次毕业设计项目想法成型的过程和解决问题的思路
(4)第四章项目分析和实现,主要是将第三章设想变成现实的过程,结合实例说明操作。
(5)第五章项目测试主要说明了在实际编程过程中测试出错误时的解决方案。
(6)第六章分总结整个项目的收获与不足。
(7)最后是感谢和参考资料。
15
二相关技术介绍
2.1Python语言
2.1.1Python语言的产生和发展历史
Python的创始人为GuidovanRossum。
1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。
之所以选中
Python(根据英国广播公司的节目“蟒蛇飞行马戏”)作为程序的名字。
ABC是由Guido参加设计的一种教学语言。
就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。
但是ABC语言并没有成功,究其原因,Guido认为是非开放性造成的。
Guido决心在Python中避免这一错误。
同时,他还想实现在ABC中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。
可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。
并且结合了Unixshell和C的习惯。
Python语言的创造者GuidovanRossum是根据英国广播公司