首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • Python网络爬虫实习报告-python实习报告

    时间:2020-07-22 11:53:19 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:实习报告 爬虫 网络

     Python 网络爬虫实习报告

     目录 一、选题背景 ........................................................... 错误!未定义书签。

     理 二、爬虫原理。签书义定未!误错ﻩ

     三、爬虫历史与分类 ................................................ 错误!未定义书签。

     较 四、常用爬虫框架比较。签书义定未!误错ﻩ

     五、数据爬取实战( 豆瓣 网 爬取电影 数据) ............ 错误!未定义书签。

     1 分析网页 误错ﻩ 错误! 未定义书签。

     2 爬取数据 ............................................................... 错误! 未定义书签。

     3 数据整理、转换 误错ﻩ 错误! 未定义书签。

     4 数据保存、展示 误错ﻩ 错误! 未定义书签。

     5 技术难点关键点 误错ﻩ 错误! 未定义书签。

     六、总结 .................................................................. 错误!未定义书签。

     一、

     选题背景 二、

     爬虫原理 三、

     爬虫历史与分类 四、

     常用爬虫框架比较 Scrap y框架 :Scrapy框架就是一套比较成熟得 Python爬虫框架,就是使用 Python 开发得快速、高层次得信息爬取框架,可以高效得爬取web 页面并提取出结构化数据。Scrapy应用范围很广,爬虫开发、数据挖掘、数据监测、自动化测试等. Crawle y框架: :Crawley 也就是 Python开发出得爬虫框架,该框架致力于改变人们从互联网中提取数据得方式。

     a Portia 框架 :Portia框架就是一款允许没有任何编程基础得用户可视化地爬取网页得爬虫框架。

     newsp ap p er r 框架: :newspaper 框架就是一个用来提取新闻、文章以及内容分析得 Python 爬虫框架. P P yt t hon n- - go oe se 框架:

     :Python-goose 框架可提取得信息包括:

     〈1〉文章主体内容;<2>文章主要图片;<3>文章中嵌入得任heYoutube/Vimeo 视频;<4〉元描述;〈5〉元标签

     五、数据爬取实战( 豆瓣 网 爬取电影 数据)

     1分析网页

      # 获取 ht ml l 源代码

     def _ _g g e tHtml( ):

     d ata =

     ] []

     ﻫ

      p ageN u m = 1

     pageSize = 0

     : try:

     ﻫ

      wh i le ( p ageSiz e

     〈 = 1 25):

     # h ead e rs =

     { { ’U ser —A A ge e n t" :’ Mozill l a /5 、 0 (Windows N T 6 、 1) A pp p l eWe bK K i t/5 37、1 1 ( KHTML,

     like

     Geck o ) C h rome/23 、0 0 、 127 1、 64 S a fari/537, 、11’,

     # ’R efe r er ’: : N on e

     #注意如果依然不能抓取得话, , 这里可以设置抓取网站得h ost

     #

     } } ﻫ

      #

     o pener

     =

     urllib、r eq ue e st t 、 build_ opene e r() )

     # opener 、 addh ead d er s =

     [ heade rs s ] ﻫ

      url l

     = "”

     + st r( pag e Siz e ) +

     ”&f ilt er r ="

     + s tr(p ag eNum)

     #

     data [ "h t ml%s ’

     %

     i ] = url lib b 、 re q uest 、ur l op en( ur l)、r ead() 、 decode("ut f — 8 ") ﻫ

      da ta a 、 append(url li i b、r equ e st 、 urlope n( ur l) ) 、r ead() 、d ecode (”utf f -8 8 ")) )

     page Si i z e + =

     25 5

     ﻫ

      p p ageN Nu1 m += 1

     ﻫ

      pr i nt( pa geSize, page N um)

     excep t

     E E x cepti o n a s

     e:

     r r ai se e

     retur n

     data

     2 爬取数据 def

     _ _ _ getData(html):

     title =

     []

     # #

     电影标题 ﻫ

      #rati ng_ _ n um =

     [ [ ]

     #

     评分 ﻫ

      r r a nge _ num =

     []

     # 排名 ﻫ

      # ra t ing _ people _num

     = [ ]

     # 评价人数

     m ovie_a u thor

     = []

      # 导演 ﻫ

      da t a = {}

     # b s4 解析 h h t ml ﻫ

      s oup =

     Beauti fu u lS S ou p(html,

     ” html 、 parser)

     ”)

     ﻫ

      for li

     i n s oup p 、 find( ”ol l ” , at t tr r s= = { "clas s’:

     " " g rid_view"} )、 fin d_ al l( "li"):

     t it le e 、 appen d( li 、f f i nd("s p an", c la a ss s _= = ” title ") 、t ext)

     #r r a ti ng_ nu u、 m、 append(li、 、 fin d ("d iv v, ”,

     class_="star ") 、 find( ” spa n" " ,

     class_ = "rating_nu m')、t ext )

     ra n ge _ num、 、a a p pen d (li、 、 fi n d("di v”,

     class _=’pi c" " )、 fin d( "em ") ) 、 text)

     )

     ﻫ

      #span s

     = l i、 find("d iv ”,

     c c l as s_= =’ ’ star’ ’) )、 、 find_ al l l("sp an") ﻫ

      #f

     o r x

     in

     r r a nge(len (s s pa a ns s )):

     #

     i f x

     <= 2: ﻫ

      #

     p p ass s ﻫ

      # e l se :

     #

     r r at t in n g _p eo ple_num、 、 append(s p ans[ x] 、 st ri i ng[ — le n( s pans[x ]、s s t rin g ): — 3])

     s tr = l i、fin n d(” div", cla s s_= ’b b d’) ) 、 find( ”p",

     clas s_= = ’" " )、 te xt t 、 lstrip()

     )

     ﻫ

      in de e x

     = str r 、f f in d(" 主") )

     ﻫ

      if (ind ex x

     = = =

     -1) ) :

     index = str 、 fin d( ( "、、、") )

     ﻫ

      prin t (li 、find d (”d d iv v” ” , c las s_=" pi i c’)、 find(” ” em") 、t t e xt)

     if

     ( li 、 find ( "div ” , cl as s s _= ’ pic ’)、f fi nd( ”em m ”)、t t ex x t

     == 2 10):

     i i nd d ex

     =

     60

     # p rint("aaa ”) ) ﻫ

      # #

     p rint ( st r [4 :i i n de x ]) ﻫ

      m ov ie _autho r、 append ( str[4: i nde x ])

     d d at t a ["t i tl e" " ]

     = titl e

     #da t a["ra t ing_num" ]

     = ra ti i n g_nu m

     dat a[' rang e_n n um m ’ ] =

     ram nge_num

      ﻫ

     #data[ ’ rating g _pe e o pl e_n n um’ ] = r at i ng _ peopl e _nu m

     data a [’ mo v ie_au th h or r ’ ] =

     movie_a u th or r

     ret u rn dat a

     3 数据整理、转换 def _ _getMov ie e s( da t a):

     f = op e n("F:// d ouban_mov ie e 、 html" ,

     ’w’, , e nc o ding=’ utf —8 8 ’) )

     f f 、w rite(" 〈 html> ”)

     f、 wr i te( ” <h e ad 〉< < met t a

     charset= ’ UTF -8 8 ’> > 〈 title 〉Insert title here</ t it l e> </ / he ad 〉) ")

      ﻫ

     f f 、 wr i te( ”〈b bod d y> > ”) )

     ﻫ

      f、 write (”〈h 1> 爬 取豆瓣电影< < /h1 >")

     f f 、 wri te(” <h4> 作者:刘文斌〈 /h 4〉 ")

     f f 、 wr i te( ”〈 h4>

     时间: : "

     + n o wt i me + ”< /h 4>”) )

     ﻫ

      f f 、w w ri i te e ( "<hr> ”) )

     f f 、wr r i te ( "< t able

     width=" 8 00px ’

     border="1 ’

     a a lign=center>" )

     f f、 、 wr i" te(" 〈 th ea a” d>”) )

      ﻫ

     f f、 、w w r ite("<t〉 r〉" ")

     )

      ﻫ

     f f 、writ e( (” ” <t〉 h〉 <font si ze e =" " 5 " c olor=g r een 〉电影 </fo n t></t)

     h〉”)

     ﻫ

      #f 、w w r ite ("<t t h

     w idt h= = '5 0px ' ><fo n t siz z e ="5 ’

     c c o lor=g re e en n 〉评分</ font 〉〈/ / th〉" " )

     f f 、 wri te e (" " 〈 th

     wi i d th="5 0 px ’> > 〈f f on n t

     size=' ’5'

     c ol o r=green 〉排名〈/ fo nt〉〈 /th> ”) )

     ﻫ

      #f 、wr ite( "

     〈t t h

     width= ’1 00px ’〉〈 font size = "5" c olor=green 〉评价人数 </fo nt〉〈 /t h〉" " )

     ﻫ

      f、 wr ite (" " 〈 th> 〈 font siz e= "5 '

     color=gr e en> 导演〈/ font 〉< /th >”) )

     f f 、 wr it e( ” </tr>")

     f f 、wr r i te("< / th e ad 〉”) )

     f f 、wr ite(" 〈 tbod y> > ”) )

     for data in data s: :

     ﻫ

      for i

     i i n

     ra n ge( 0, ,

     25 ): :

     ﻫ

      f f 、 write ("〈t t r〉”) )

     f f 、 write( " <td styl e =" c olor:ora n ge; t ext —align:c en t er ’〉 %s < /td 〉”

     % da ata [ "ti t le"][i])

     )

     ﻫ

      #

     f、w w r ite (”〈 td s ty le =’c c olo r:bl ue e ; te xt-a a l ign :c c e nte r'〉% % s</ / t d>"

     % data ['r r ati i n g_num"] [i] ] )

     ﻫ

      f、 writ e ("<td

     s s ty y le e = "co lo r: r ed ; text — al l i gn :cen nt er" 〉% s< / td 〉”

     % %

     data [’r ange_num ’] [i])

     #

      f 、w w ri i te(" " <t d sty le= ’ co l or:bl u e;tex t- - alig n:

     cen te e r’〉 %s 〈 /td >”

     % %

     d d a ta[ ’r ating_p e ople_nu m"] [i i ]) )

     f f 、 write( ”〈 td st y le= ’ col o r: bl l ack k ;text — al l i gn:center ’〉% s< / td>" % d ata[’ ’m m o vi e_ aut h or ’][ [ i] ] )

     f f 、 write (" " 〈) /tr>")

      ﻫ

     f f 、 wri te e (”〈/ tbody〉" " )

     f f 、 write (" " </ / th h e ad 〉) ")

     ﻫ

      f f 、 wri t e( ” </ ta a b le 〉") )

     f f、 、w w rit t e( ( ”</ bo dy y〉 〉" ")

     )

     ﻫ

      f、 write( "〈/ / ht t ml〉”)

     ﻫ

      f f 、 close()

     if f

     __ na a m e__

     == =

     ’_ _ _m m ai i n__ _ ’: :

     data s

     = []

     h h t mls = __getH t ml () )

     ﻫ

      f or i

     i n rang e(l l en n( htmls) ): :

     ﻫ

      dat a

     = __getData ( ht m ls[ i] ])

     )

     ﻫ

      datas 、 ap p end(data)

     ﻫ

      _ _g e tMo vies(datas )

     4数据保存、展示

     结果如后图所示:

      5 技术难点关键点 数据爬取实战( 搜房 网 爬取房屋 数据) fro o m

     bs4 i i m po rt t

     BeautifulSoupopmiﻫ impo r t requestsrﻫep = requests、get( ’" ") rep、encoding = " " g b2312"

     # 设置编码方式 html = rep、texth" ,lmth(puoSlufituaeB = puosﻫ "h tml、 parser ’)

     f = open( "F://f a ng 、 html ’, ’w w ',encoding= ’u u tf —8 8 ’) f、write( ” <ht ml〉") f、write( "< hea a d〉〈m eta ch a rse t= = ’ UTF — 8" " > <t i tle>Ins

     er r t

     t it l e here</tit l e></ h ead 〉”)〈”(etirw、fﻫ ”〈b b o dy>” ”)

     f、write(" " 〈c c en ter> < h1 〉新房成交T OP 3 </h1 >〈/ ce nt t er> > ”)〈"(etirw、fﻫ "〈t t ab b le

     b order = "1px ’

     width= ’1 1 000 0 px x ’

     h eig ht ="800p x’

     ali i g n=c e nte r〉< tr 〉")w、fﻫrite( "<th>< h2 2 〉房址 </ h 2> 〈 /t h >")〈" "(etirw、fﻫ 〈 th 〉〈h2 2 〉成交量〈 /h2 〉〈 /th 〉" ") f、write( ”< < t h> 〈h2>均价 </h2> </ / th h 〉〈/ / tr r >”) rofﻫ for li in soup、find(” ” ul",class_=” ” ul02")、find_all( "l l i”):

     name=li、find(” ” div” ”,class_=" " p btext” ”)、find(” ”p”)、text

      chengjiaoliang=li、find(" " spa a n”,class_= "red d — f3 ”)、text

      try y:

     id”(dnif、il=aijnujﻫ ”di v",class_=" "o hte r" ")、find( "p",class_=" " g ray —9 9 ”) #、text、replace(’。O’, ’平方米") ﻫ

      exce p t Exception a a s

     e:

     ﻫjunjia=li、find( "di v" ",class_= "gray — 9") #、text、replace("�O', ’平方米') ﻫ

     f、write( "<tr 〉< < t d a li g n=ce n te r〉< < f ont

     size="5px’

     c c ol l o r=r ed d > %s 〈 /fo nt t 〉</ / td d 〉 " % name)

     、fﻫwrite( "〈t t d

     alig n= = ce e n ter> 〈 font s i ze= ’ 5px"

     col or=b l ue>%s</font> 〈/ / td〉 " % chengjiaoliang)

     rw、fﻫ

     ite(" " 〈t t d

     a lign = center 〉 <f o nt

     size= '5p p x’

     col or r=g g re e en n 〉 %s 〈/ / f ont >〈/ td></t r〉 " % junjia)

     rp pﻫ rint(name)

     f、write(" " < /table 〉")<"(etirw、fﻫ "< /bo d y> ”)

     ﻬ 六、总结 教师评语: 成绩:

     指导教师:

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识