基于某python地网络爬虫设计

上传人:痛*** 文档编号:86674610 上传时间:2022-05-08 格式:DOC 页数:7 大小:708.50KB
收藏 版权申诉 举报 下载
基于某python地网络爬虫设计_第1页
第1页 / 共7页
基于某python地网络爬虫设计_第2页
第2页 / 共7页
基于某python地网络爬虫设计_第3页
第3页 / 共7页
资源描述:

《基于某python地网络爬虫设计》由会员分享,可在线阅读,更多相关《基于某python地网络爬虫设计(7页珍藏版)》请在装配图网上搜索。

1、word基于python的网络爬虫设计 【摘要】近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的利益,而网络爬虫是其中最为常用的一种从网上爬取数据的手段。 网络爬虫,即Web Spider,是一个很形象的名字。如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的地址来寻找网页的。从某一个页面通常是首页开始,读取网页的内容,找到在网页中的其它地址,然后通过这些地址寻找下一个网页,这样一直循环下去,直到把这个所有的网页都抓取完为止。如果把整个互联网当成一个,那么网络蜘

2、蛛就可以用这个原理把互联网上所有的网页都抓取下来。 那么,既然网络爬虫有着如此先进快捷的特点,我们该如何实现它呢?在众多面向对象的语言中,首选python,因为python是一种“解释型的、面向对象的、带有动态语义的高级程序,可以使人在编程时保持自己的风格,并且编写的程序清晰易懂,有着很广阔的应用前景。 关键词 python 爬虫 数据1 前言随着网络的迅速开展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎例如传统的通用搜索引擎AltaVista,!和Google等作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在

3、着一定的局限性,如: (1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。 (2) 通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。 (3) 万维网数据形式的丰富和网络技术的不断开展,图片、数据库、音频/视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。 (4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。 为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动

4、下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的,获取所需要的信息。与通用爬虫(generalpurpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。 学习了解并熟练掌握python的语法规如此和根本使用,对网络爬虫的根底知识进展了一定程度的理解,提高对网页源代码的认知水平,学习用正如此表达式来完成匹配查找的工作,了解数据库的用途,学习mongodb数据库的安装和使用,与配合python的工作。(1) 以世纪佳缘网为例,思考自己所需要的数据资源,并以此为根底设计自己的爬虫程序

5、。(2) 应用python伪装成浏览器自动登陆世纪佳缘网,参加变量打开多个网页。(3) 通过python的urllib2函数进展世纪佳缘网源代码的获取。(4) 用正如此表达式分析源代码,找到所需信息导入excel。(5) 连接数据库,将爬下的数据存储在数据库中。 1、对特定的爬取特定的数据; 2、实现代码和得到结果; 3、能够和数据库进展连接,将爬下的数据存储在数据库中。 4、将爬下的数据储存在excel中方便编辑。2 编程设计方案以世纪佳缘网为例,所需要爬取的数据为注册世纪佳缘网的人的用户名、真实某某、性别、年龄、学历、月收入这些直观信息。爬虫最主要的处理对象就是URL,它根据URL地址取得

6、所需要的文件内容,然后对它 进展进一步的处理。因此,准确地理解URL对理解网络爬虫至关重要。URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位 符。通俗地说,URL是Internet上描述信息资源的字符串,主要用在各种客户程序和服务器程序上。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。URL的格式由三局部组成:第一局部是协议(或称为服务方式)。第二局部是存有该资源的主机IP地址(有时也包括端口号)。第三局部是主机资源的具体地址,如目录和文件名等。第一局部和第二局部用“:/符号隔开,第二局部和第三局部用“

7、/符号隔开。第一局部和第二局部是不可缺少的,第三局部有时可以省略。其计算机域名为;超级文本文件(文件类型为.html)是在目录/talk下的talk1.htm。这是瑞得聊天室的地址,可由此进入瑞得聊天室的第1室。Python获取网页源代码可用urllib或urllib2函数进展,极其方便快捷,代码如下:importurllib2response=urllib2.urlopen(.baidu./)html=response.read()printhtml2.1.3应用python伪装成浏览器自动登陆世纪佳缘网,参加变量打开多个网页。 有了源代码就可以进展数据的爬取了,但是因为世纪佳缘网近日进展了

8、改版,简单的爬虫程序已经无法在对其进展全网页的爬取工作了,所以,在获取数据之前,需要对爬虫进展一下伪装,使其成为一个浏览器,以实现全网页的爬取工作。 应用opener和header的根底知识即可实现伪装成浏览器这一步骤。在伪装的同时,需要参加变量来打开多个网页,是的爬取工作可以顺利进展。代码如下:r=0w=3013while 3012w(.*?)/.+?>>(.*?).+?(.*?)/s.+?(.*?)/s.+?(.*?)/sp.+?(.*?)/sp.+?, re.DOTALL) Excel表格具有方便筛选、查找和编辑的特点,所以将网络爬虫爬取的数据储存在excel表格中是首选。

9、使用python建立excel表格是十分容易,代码如下:filename = xlwt.Workbook ()sheet = filename.add_sheet(name) 建立完成后可将数据写入excel表格: for a in x: sheet.write(r,0,a0.decode(utf-8) sheet.write(r,1,a1.decode(utf-8) sheet.write(r,2,a2.decode(utf-8) sheet.write(r,3,a3.decode(utf-8) sheet.write(r,4,a4.decode(utf-8) sheet.write(r,5

10、,a5.decode(utf-8) r=r+1 print r+3012 filename.save(test3.xls)数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。将数据储存在数据库中也具有直观简洁的特点。 Python调用数据库是用pymongo模块,创建与导入代码如下:db = pymongo.Connection().testfor a in x: values=dict( img=a0.decode(utf-8), infor=a1.decode(utf-8), age=a2.decode(utf-8), adress=a3

11、.decode(utf-8), marry=a4.decode(utf-8) ) db.user.insert(values:values) content = db.user.find() for a in x: print img:+a0.decode(utf-8) print infor:+a1.decode(utf-8) print age:+a2.decode(utf-8) print adress:+a3.decode(utf-8) print marry:+a4.decode(utf-8)3、 总结本程序利用了python语言编写网络爬虫程序,实现了从世纪佳缘网上爬取用户数据资料

12、,使用urllib函数以与re模块、pymongo模块进展源代码的获取、编辑和数据的导出,并针对网页代码中无性别显示的问题,采取爬取注册用户信息同时爬取注册用户照片地址的方式解决,浏览所爬取信息时,只需将照片地址输入浏览器地址栏,即可得到所查看用户上传的自拍照,得到形象信息。总的来说程序设计简便、实用性强、便于读取和再利用。4、附录4.1.1 源代码#coding=gbkimport reimport xlwtimport cookielibimport urllib,urllib2#filename = xlwt.Workbook ()sheet = filename.add_sheet(n

13、ame)find_re = re.pile(rabsolute.+?span(.*?)/.+?>>(.*?).+?(.*?)/s.+?(.*?)/s.+?(.*?)/sp.+?(.*?)/sp.+?, re.DOTALL) r=0w=3013while 3012w(.*?)/.+?>>(.*?).+?(.*?)/s.+?(.*?)/s.+?(.*?)/sp.+?, re.DOTALL) w=11while 10w20: w=w+1 k=str(w) page=urllib.urlopen(.jiayuan./1079608+k+?fxly=search_v2_index

14、) html=page.read() x=find_re.findall(html) for a in x: values=dict( img=a0.decode(utf-8), infor=a1.decode(utf-8), age=a2.decode(utf-8), adress=a3.decode(utf-8), marry=a4.decode(utf-8) ) db.user.insert(values:values) content = db.user.find() for a in x: print img:+a0.decode(utf-8) print infor:+a1.decode(utf-8) print age:+a2.decode(utf-8) print adress:+a3.decode(utf-8) print marry:+a4.decode(utf-8)4.2.2 爬取数据汇总截图参考文献(1) Guido van rossum Python手册(2) Magnus Lie Hetlar python根底教程(3) 罗刚 ,王振东 自己动手写网络爬虫精彩文档

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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