东方亚洲欧a∨人在线观看|欧美亚洲日韩在线播放|日韩欧美精品一区|久久97AV综合

        Python網(wǎng)絡(luò)爬蟲實(shí)習(xí)報(bào)告-python實(shí)習(xí)報(bào)告

        發(fā)布時(shí)間:2020-07-23 來(lái)源: 讀后感 點(diǎn)擊:

         Python 網(wǎng)絡(luò)爬蟲實(shí)習(xí)報(bào)告

         目錄 一、選題背景 ........................................................... 錯(cuò)誤!未定義書簽。

         理 二、爬蟲原理。簽書義定未!誤錯(cuò)?

         三、爬蟲歷史與分類 ................................................ 錯(cuò)誤!未定義書簽。

         較 四、常用爬蟲框架比較。簽書義定未!誤錯(cuò)?

         五、數(shù)據(jù)爬取實(shí)戰(zhàn)( 豆瓣 網(wǎng) 爬取電影 數(shù)據(jù)) ............ 錯(cuò)誤!未定義書簽。

         1 分析網(wǎng)頁(yè) 誤錯(cuò)? 錯(cuò)誤! 未定義書簽。

         2 爬取數(shù)據(jù) ............................................................... 錯(cuò)誤! 未定義書簽。

         3 數(shù)據(jù)整理、轉(zhuǎn)換 誤錯(cuò)? 錯(cuò)誤! 未定義書簽。

         4 數(shù)據(jù)保存、展示 誤錯(cuò)? 錯(cuò)誤! 未定義書簽。

         5 技術(shù)難點(diǎn)關(guān)鍵點(diǎn) 誤錯(cuò)? 錯(cuò)誤! 未定義書簽。

         六、總結(jié) .................................................................. 錯(cuò)誤!未定義書簽。

         一、

         選題背景 二、

         爬蟲原理 三、

         爬蟲歷史與分類 四、

         常用爬蟲框架比較 Scrap y框架 :Scrapy框架就是一套比較成熟得 Python爬蟲框架,就是使用 Python 開發(fā)得快速、高層次得信息爬取框架,可以高效得爬。鱡b 頁(yè)面并提取出結(jié)構(gòu)化數(shù)據(jù)。Scrapy應(yīng)用范圍很廣,爬蟲開發(fā)、數(shù)據(jù)挖掘、數(shù)據(jù)監(jiān)測(cè)、自動(dòng)化測(cè)試等. Crawle y框架: :Crawley 也就是 Python開發(fā)出得爬蟲框架,該框架致力于改變?nèi)藗儚幕ヂ?lián)網(wǎng)中提取數(shù)據(jù)得方式。

         a Portia 框架 :Portia框架就是一款允許沒(méi)有任何編程基礎(chǔ)得用戶可視化地爬取網(wǎng)頁(yè)得爬蟲框架。

         newsp ap p er r 框架: :newspaper 框架就是一個(gè)用來(lái)提取新聞、文章以及內(nèi)容分析得 Python 爬蟲框架. P P yt t hon n- - go oe se 框架:

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

         〈1〉文章主體內(nèi)容;<2>文章主要圖片;<3>文章中嵌入得任heYoutube/Vimeo 視頻;<4〉元描述;〈5〉元標(biāo)簽

         五、數(shù)據(jù)爬取實(shí)戰(zhàn)( 豆瓣 網(wǎng) 爬取電影 數(shù)據(jù))

         1分析網(wǎng)頁(yè)

          # 獲取 ht ml l 源代碼

         def _ _g g e tHtml( ):

        。 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

        。W⒁馊绻廊徊荒茏ト〉迷, , 這里可以設(shè)置抓取網(wǎng)站得h ost

        。

         } } ?

          #

        。 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 + =

        。5 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 爬取數(shù)據(jù) def

         _ _ _ getData(html):

         title =

        。郏

         # #

         電影標(biāo)題 ?

          #rati ng_ _ n um =

         [ [ ]

         #

         評(píng)分 ?

          r r a nge _ num =

        。郏

         # 排名 ?

          # ra t ing _ people _num

         = [ ]

         # 評(píng)價(jià)人數(shù)

        。 ovie_a u thor

         = []

          # 導(dǎo)演 ?

          da t a = {}

         # b s4 解析 h h t ml ?

          s oup =

         Beauti fu u lS S ou p(html,

         ” html 、 parser)

         ”)

         ?

          for li

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

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

        。 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

        。 r x

         in

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

         #

        。 f x

         <= 2: ?

          #

         p p ass s ?

          # e l se :

        。

         r r at(yī) 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])

        。 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

         = = =

        。) ) :

         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 ”) ) ?

          # #

        。 rint ( st r [4 :i i n de x ]) ?

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

         d d at(yī) 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 ’ ] =

        。颍醡 nge_num

          ?

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

        。洌幔鬭 a [’ mo v ie_au th h or r ’ ] =

         movie_a u th or r

         ret u rn dat a

         3 數(shù)據(jù)整理、轉(zhuǎn)換 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> ”)

        。、 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>

         時(shí)間: : "

         + 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

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

         c c o lor=g re e en n 〉評(píng)分</ font 〉〈/ / th〉" " )

         f f 、 wri te e (" " 〈 th

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

         size=' ’5'

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

         ?

          #f 、wr ite( "

         〈t t h

         width= ’1 00px ’〉〈 font size = "5" c olor=green 〉評(píng)價(jià)人數(shù) </fo nt〉〈 /t h〉" " )

         ?

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

         color=gr e en> 導(dǎo)演〈/ 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])

        。

         ?

          #

        。、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()

        。閒 f

         __ na a m e__

         == =

         ’_ _ _m m ai i n__(dá) _ ’: :

         data s

         = []

         h h t mls = __getH t ml () )

         ?

          f or 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 )

        。磾(shù)據(jù)保存、展示

         結(jié)果如后圖所示:

          5 技術(shù)難點(diǎn)關(guān)鍵點(diǎn) 數(shù)據(jù)爬取實(shí)戰(zhàn)( 搜房 網(wǎng) 爬取房屋 數(shù)據(jù)) fro o m

         bs4 i i m po rt t

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

         # 設(shè)置編碼方式 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

        。錼 r 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 ’

        。 eig ht ="800p x’

        。幔靑 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>均價(jià) </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

        。:

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

        。、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?

        。閠e(" " 〈t t d

        。 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)

        。騪 p? rint(name)

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

         ? 六、總結(jié) 教師評(píng)語(yǔ): 成績(jī):

         指導(dǎo)教師:

        相關(guān)熱詞搜索:實(shí)習(xí)報(bào)告 爬蟲 網(wǎng)絡(luò)

        版權(quán)所有 蒲公英文摘 smilezhuce.com