Python网络爬虫实习报告python实习报告_第1页
Python网络爬虫实习报告python实习报告_第2页
Python网络爬虫实习报告python实习报告_第3页
Python网络爬虫实习报告python实习报告_第4页
Python网络爬虫实习报告python实习报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、python 网络爬虫实习报告 python 实习报告thon 网络爬虫实习报告python 网络爬虫实习报告 python 实习报告目录目录一、选题背景一、选题背景- - 2 2 - -二、爬虫原理二、爬虫原理- -2 2 - -三、爬虫历史和分类三、爬虫历史和分类.- - 2 2 - -四、常用爬虫框架比较四、常用爬虫框架比较.- - 5 5 - -五、数据爬取实战(五、数据爬取实战(豆瓣网爬取电影数据豆瓣网爬取电影数据) ) - -1 分析网页.-6 爬取数据- -数据整理、转换 . 0 -4 数据保存、展示.- 1 -5 技术难点关键点- 12 六、总结六、总结.- - 1 1 - -

2、python 网络爬虫实习报告 python 实习报告一、一、选题背景选题背景二、二、爬虫原理爬虫原理三、三、爬虫历史和分类爬虫历史和分类四、四、常用爬虫框架比较常用爬虫框架比较scrapyscrapy 框架框架: :scrapy 框架是一套比较成熟的 pyth爬虫框架,是使用pth开发的快速、高层次的信息爬取框架,可以高效的爬取eb 页面并提取出结构化数据。scrp应用范围很广,爬虫开发、数据挖掘、数据监测、自动化测试等。crawleycrawley 框架框架: :crawly 也是hon 开发出的爬虫框架,该框架致力于改变人们从互联网中提取数据的方式。portiaportia 框架框架:

3、:pti框架是一款允许没有任何编程基础的用户可视化地爬取网页的爬虫框架。nenes serer 框架框架: :nwspap框架是一个用来提取新闻、文章以及内容分析的 pythn 爬虫框架。pypyhon-gooshon-goos框架:框架:pyton-oose 框架可提取的信息包括:文章主体内容;2文章主要图片;3文章中嵌入的任 heytube/vio 视频;元描述;5元标签python 网络爬虫实习报告 python 实习报告五、五、数据爬取实战数据爬取实战( (豆瓣网爬取电影数据豆瓣网爬取电影数据) )1 1 分析网页分析网页# # 获取获取 htmlhtml 源代码源代码defdef_e

4、thtetht() ): datadata = = pagenumpagenum= = 1 1 ageageizeize 0 0 try:try: whilewhile (a aeseszeze =125):125): # # hehededes s= = ususr rageaget t:moz:mozll ll/5.0/5.0 (w(wndowsndows ntnt 6.1)6.1) appleweappleweit/5it/57 71111 ( (hhml,ml, liklik eckeck) ) chrchrmeme21.641.64 s sf fri/537.1r

5、i/537.1, , # # rrfefeer:noer:no # #注意如果依然不能抓取的话注意如果依然不能抓取的话, ,这里可以设置抓取网站的这里可以设置抓取网站的hosthost # # # #openeopene= = rllib.requrllib.requs sbuild_opener()build_opener() # # openopenr.adr.ade edersders = = hehedersders urlurl = = httpshttps:/mov/toptop50?star50?star= + + s sr(pagesir(pagesi) ) &f&fl lr=

6、r= tr(ptr(pg gnumnum) # #d da a tml%stml%s %i i=url=urlb.rb.rquesques.url.urlen(urlen(url).read().read().code(code(utf-8utf-8) ) dadaa.appea.appe(urllib(urllibquesquesurlopen(urlopen(rl).rl).e e().().decoddecod(utf-utf-)python 网络爬虫实习报告 python 实习报告 pagesizpagesiz +=+=2 2 papaenenmm +=+=1 1 print(ppri

7、nt(pg gsisie e,papae eum)um) e eepep xceptionxception a ae:e: raisrais e e rnrn datadata2 2 爬取数据爬取数据defdef _e edadaa(hta(htl):l): t ttletle = = # #电影标题电影标题 r rti ti_num_num= = # # 评分评分 ranran_num_num = = # # 排名排名 #rat#ratngngpeopeole_nule_nu # #评价人数评价人数 movie_movie_uthuthr r = = # #导演导演 datadata = =

8、 # #s4s4 解析解析 hthtl l sousou = = eaeat tf fsoso( (tmltml, tmltmlparser)parser) forfor li li i i oupoupfi fid(d(ol,ol,attrattr=class=class: : grid_grid_iewiew). .fi fid_ald_al(li li): ): t ttl tl.app.appnd(li.nd(li.indind(span,span, l lss_=title)ss_=title)tetet t) ratratng_num.ng_num.ppenppen(li.f(li

9、.fndnd( iv,iv, clclss_=ss_=ar)ar)i id(d(an,an, l ls_=s_=r rting_nuting_nu ).text).text) angeangen nmmappappn n( (i.find(div,i.find(div, classclass= =ic).ic).finfin(ee). .xtxt) #spa#spas s= =li.find(dili.find(di, , clasclas_=st_=st ).find_.find_ll(spall(spa ) #fo#fo ininpython 网络爬虫实习报告 python 实习报告ran

10、ge(lenrange(len(spsp) ): # # i i x x= 2:2: # # paspas else:else: # # rating_peoprating_peope_nue_nu.ap.ape ed d(spansspans. .strstrg-leng-len(spaspass.st.stinin):-3:-3) strstr l lf fnd(nd(i i,clasclas_=bd).find(p,_=bd).find(p, c ca as_=).s_=).ext.lstext.lstp p()() indindx x = = s sr. r.i id(d(主主) )

11、if if(i (idexdex = = -1)-1): i idexdex = = ststfind(find(.).) prprn n(li liinin(div,(div, class_=pclass_=p).find(em.find(em). ).exex) i i(li(lifi fid d( iv,iv, clacla_=pic_=pic). ).inin(em(em).text.text= 210210):): d dx x= = 6060 # # p pint(int(aaaaaa) ) # #prprntnt(44:indindxx) mmvie_vie_ututr.appe

12、nd(strr.append(str: :ndende ) datadatatitltitl = =t tlele # #datarating_numdatarating_num = = tingtingnumnum d da arangrang range_nrange_nmm #d#daraarainin_peopl_peopl_num_num = =rating_perating_pepleplenumnum a aamoviamovi_auth_auth = =vie_authorvie_author retretrnrnatatpython 网络爬虫实习报告 python 实习报告3

13、 3 数据整理、转换数据整理、转换 _getm_getmvivi(data)(data): = = p p(f:/(f:/ououan_man_mie.html,ie.html, w,encw,encing=ing=utf-utf-) ) f fwriwrie(e(htmlhtml) ) f.wrif.wrie(hee(tite eininerer i ileleherher/tit)e) .w.wite(ite() f. f.r re(he( 爬取豆瓣电影爬取豆瓣电影/ ) ) f fwrite(write( 作者作者: :刘文斌刘文斌) f.writef.write(hh时间时间: : n

14、owtinowti h4) f fwriwri( ) f.wf.wi ie(e()ead) . .ritrit( (t) f.wf.wit it(o ot t sisi55colocolo=g=geeneen电影电影th) ) #f.#f.ri rie(e(n评分评分/fo t t) f fwrwrt t( (tpxfontfont sisie e55c cl lr=grr=gre e 排名排名/fongreen评价人数评价人数/fon/fon)th) python 网络爬虫实习报告 python 实习报告f fwrite(fontwrite( 导演导演 nt/ /hh) ) f fwrite

15、(write() . .rite(rite(d)f.writef.write() forfor dadaa a i idatdats:s: forfor i i inin r rn n(0(0,2525): : f fwrwrte(te(r)r) f. f.ite(tdite(td ststl l=col=col:ora:orage;ge;ext-ext-alialin:centern:center%s/%s atat itleitle) ) # # f.wrf.wrtete( tdtd s se ecolorcolor:blue;blue;ext-ext-alalgn:gn:ententr

16、r/d % tarating_numtarating_numii) f.wf.wite(tite(%s%s%/ /dd % dadaaaratinratin_peo_peole_le_umumii) ) f fwriwrie(tde(td stste=ce=cor:blaor:blak;tk;txtxtalialin n:centercenters stdtd % datadatav va athorthori i) ) f.writef.write(/t/t) ) f.wrf.wrt t(/tb()dy)f.wf.we(/te() f. f.ritrit( (/ /ablabl) f. f.

17、ite(/bodite( ) f.wrf.wrte(te()html) f fclose()close()python 网络爬虫实习报告 python 实习报告if if _na_nae_e_= _aiai_: d dasas = = htmlhtml= =_ge_gehhl l() ) r r i i i i raragege(len(len(mms):s): dadaa a = =_getd_getda(a(tmltmli)i) datasdatasa apend(datpend(dat) ) _getmo_getmoies(daies(daas)as)数据保存、展示数据保存、展示结果如后

18、图所示:5 5 技术难点关键点技术难点关键点数据爬取实战(搜房网爬取房屋数据)数据爬取实战(搜房网爬取房屋数据)python 网络爬虫实习报告 python 实习报告frofro bs4 i iportportbeutlsouimportimportrestsrep = quest.ge( ttp:ttp:/n/nw wouse.fouse.fg.cg.cm/tm/t/)re.enodin = gb2312gb2312 # 设置编码方式htl =rep.textsop beauiulsoup(hl, hhl. l.a aserser)f = opn(f:f:fafag.htmlg.html, ,ncodg=utut-8-8)f.wrte(htmhtm )f.write(hintleinertert t tt te e herehere/titleh hadad)f.write(b).write(centercenter新房成交新房成交oo/h1/h1/ce/cetete )f.wrte(tableentertrtr)f.write(h2房址房址/2)rite(2成交量成交量 h2h2/h h).write(均价均价/h2/h2)fofo i ininoup.i

温馨提示

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

评论

0/150

提交评论