欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于Python的网络爬虫的设计与实现.doc

    • 资源ID:8774594       资源大小:16.50KB        全文页数:3页
    • 资源格式: DOC        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Python的网络爬虫的设计与实现.doc

    基于Python的网络爬虫的设计与实现        【摘要】一个爬虫从网上爬取数据的大致过程可以概括为:向特定的网站服务器发出请求,服务器返回请求的网页数据,爬虫程序收到服务器返回的网页数据并加以解析提取,最后把提取出的数据进行处理和存储。因此,一个爬虫程序可以主要分为三大部分:向服务器请求并获取网页数据、解析网页数据、数据处理和存储。        【关键词】Python;网络爬虫;设计与实现         一、引言        随着网络技术的飞速发展,互联网中的信息呈现爆炸式的增长,互联网的信息容量也达到了一个前所未有的高度。为了方便人们获取互联网中的信息,出现了一批搜索引擎。传统的搜索引擎在返回的结果方面有局限性,网络爬虫因此而诞生。网络爬虫又名叫网络机器人,它是一种按照特定规则爬取网页信息的程序。与传统搜索引擎不同,网络爬虫只爬取想要获得的特定类型的信息,进而提高搜索引擎的效率。        二、Python语言        Python语言是一种比较常用的开发网址工具,这种语言自身具有非常强大功能。近些年,随着互联网行业的快速发展,各种行业自身都需要拥有自己的网址,这就给Phthon语言的应用提供了很大发展机会。Python语言能够兼容各种不同类型的操作系统。站在网址开发的角度上分析来说Python是属于面向对象语言,这种编程语言能夠在短时间内实现对象编程,Python属于解释性语言,整体通过简单的语法与动态输入有力支持,使得Python逐渐成为各种操作系统平台上常用的脚本语言之一,特别是那些追求高性能的综合应用程序开发过程中Python语言占有重要地位。        三、获取网页数据        在Python中,一般爬虫主要是通过一个python的第三方库requests来实现这个过程的,requests库提供了两种发起请求的方法,分别为get()何post(),这也是大部分网站都会实现的两个接口。一般地,get()方法直接通过url参数(有时候还需要请求头参数)便可以发起有效请求;post()方法除此之外还需要一些额外的表单参数,才可以发起有效请求。        在获取网页数据的这个过程中,常遇到的问题是网站运用了异步加载技术(AJAX)和需要用户登录才可以进入相应的页面。所谓异步加载就是一种通过只和服务器交换少量的每页不同的数据就可以实现页面更新的技术,而不是每次都需要重新加载整个页面,这个可以更小的消耗服务器资源,也更高效快速。        四、解析网页数据        当我们获取到网页数据之后,接下来就是对此进行解析并从中提取需要的数据。网站返回的数据格式有三种:HTML、XML、JSON,但是一般我们从网站上爬取到的从服务器中返回的是HTML格式的,有些从网站提供的API返回的数据格式是JSON,下面我们只针对HTML格式的数据进行分析。        要解析HTML格式的数据,python中一般有三种方法,分别对应三个库:BeautifulSoup库、re库、Lxml库。BeautifulSoup库可以很方便的解析Requests库请求的网页,并把网页源代码解析为Soup对象,以便过滤提取数据。BeautifulSoup库除了支持HTML,也支持XML。可以通过该库中的find()、find_all()、selector()方法定位提取需要的数据,其中的参数以及定位原则可以查看文档。        re库是python中关于正则表达式的库,支持全部的正则表达式功能,可以利用该库通过正则表达式来匹配提取HTML文档中的数据。一般可以通过该库中的search()、findall()函数来匹配提取。当然关于正则表达式需要读者额外的去学习,虽然在学习上会比较灵活,但是同时其也是功能相对最强大和效率最高的方法之一。        Lxml是XML解析库,但是对HTML也有很好的支持,该模块使用c语言的python封装,因此解析速度比BeautifulSoup快。Lxml库使用Xpath语法解析定位网页数据,因此读者需要自行学习Xpath语法以便知道如何定位提取数据,学习难度不大,功能也强大。一般利用该库中的etree模块对网页进行解析,然后再利用解析后返回的对象中的xpath()方法结合Xpath语法提取需要的数据。        这三种方法都可以实现对网页数据的解析和提取,但是性能上有差异。一般的,正则表达式和Lxml库的性能较高,但是正则表达式使用难度较大,Lxml一般是比较推荐的;BeautifulSoup库的性能相对较低,但是使用起来简单,在爬取小规模数据时可以使用。        五、数据处理和存储        数据处理其实没啥多说的,其本身内容庞杂,即用即查,多用多学,但python对数据处理是有先天优势的。数据存储一般取决于数据量的大小,小规模的数据一般以csv的格式储存,这可以利用python的第三方库csv实现,该库的利用也比较简单。对于大规模的数据,则一般储存在数据库里面,无论是关系型数据库还是非关系型数据库,python对这两者主流的数据库都有第三方库的支持。比如对于非关系型数据库MongoDB,python有第三方库pymongo;关系型数据库MySQL,python有第三方库pymysql。如果是将数据储存在本地,则需要下载本地数据库,最好也下载数据库图形管理界面方便查看;如果是远程数据库,则同样的最好自己下载好图形界面的数据库管理器以便查看。        六、基于Python网络爬虫的实现通过实现任意贴吧的爬虫,并将网页保存到本地,来完成简单的网络爬虫实现        如何实现网页的URL地址爬取,设计思想如下:(1)创建一个Spider类;(2)定义_init_(self,tieba_name)函数,在函数中通过定义一个地址列表self.url_list、贴吧名称变量self.tieba_name以及self.headers的初始化,使用循环语句来完成获取完整的URL地址并追加到列表中;(3)定义parse_url(self,url)函数,通过语句response=requests.get(urs,headers=self.headers)来专门发送请求,并获取响应。通过判断发送请求,如果成功,返回responses的值,如果不成功,判断是否为最后一页,如果是,返回“error”,否则返回“None”;(4)义save_html(self,html,page_num)函数来完成网址的保存。                 参考文献:        1徐远超,刘江华,刘丽珍,等.基于Web的网络爬虫的设计与实现J.微计算机信息,2007,23(21):119-121.        2郭丽蓉.基于Python的网络爬虫程序设计J.电子技术与软件工程,2017(23):248-249.        作者简介:        高祖彦(1979-),男,汉族,副教授,恩施职业技术学院教务处,研究方向:计算机软件技术,计算机数据库技术。

    注意事项

    本文(基于Python的网络爬虫的设计与实现.doc)为本站会员(暗伤)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开