資源描述:
《python網(wǎng)絡(luò)爬蟲實(shí)習(xí)研究報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、個(gè)人收集整理僅供參考學(xué)習(xí)Python網(wǎng)絡(luò)爬蟲實(shí)習(xí)報(bào)告-13-/15個(gè)人收集整理僅供參考學(xué)習(xí)目錄一、選題背景-2-B5E2RGBCAP二、爬蟲原理-2-P1EANQFDPW三、爬蟲歷史和分類-2-DXDITA9E3D四、常用爬蟲框架比較-5-RTCRPUDGIT五、數(shù)據(jù)爬取實(shí)戰(zhàn)(豆瓣網(wǎng)爬取電影數(shù)據(jù))-6-5PCZVD7HXA1分析網(wǎng)頁-6-jLBHrnAILg2爬取數(shù)據(jù)-7-xHAQX74J0X3數(shù)據(jù)整理、轉(zhuǎn)換-10-LDAYtRyKfE4數(shù)據(jù)保存、展示-12-Zzz6ZB2Ltk5技術(shù)難點(diǎn)關(guān)鍵點(diǎn)-12-dvzfvkwMI1六、總結(jié)-14-RQYN14ZNXI一、選題背景二、爬蟲原理-13-/1
2、5個(gè)人收集整理僅供參考學(xué)習(xí)一、爬蟲歷史和分類二、常用爬蟲框架比較Scrapy框架:Scrapy框架是一套比較成熟地Python爬蟲框架,是使用Python開發(fā)地快速、高層次地信息爬取框架,可以高效地爬取web頁面并提取出結(jié)構(gòu)化數(shù)據(jù).Scrapy應(yīng)用范圍很廣,爬蟲開發(fā)、數(shù)據(jù)挖掘、數(shù)據(jù)監(jiān)測、自動(dòng)化測試等.EmxvxOtOcoCrawley框架:Crawley也是Python開發(fā)出地爬蟲框架,該框架致力于改變?nèi)藗儚幕ヂ?lián)網(wǎng)中提取數(shù)據(jù)地方式.SixE2yXPq5Portia框架:Portia框架是一款允許沒有任何編程基礎(chǔ)地用戶可視化地爬取網(wǎng)頁地爬蟲框架.newspaper框架:newspaper框架是一
3、個(gè)用來提取新聞、文章以及內(nèi)容分析地Python爬蟲框架.6ewMyirQFLPython-goose框架:Python-goose框架可提取地信息包括:<1>文章主體內(nèi)容;<2>文章主要圖片;<3>文章中嵌入地任heYoutube/Vimeo視頻;<4>元描述;<5>元標(biāo)簽kavU42VRUs五、數(shù)據(jù)爬取實(shí)戰(zhàn)(豆瓣網(wǎng)爬取電影數(shù)據(jù))-13-/15個(gè)人收集整理僅供參考學(xué)習(xí)1分析網(wǎng)頁#獲取html源代碼def__getHtml():data=[]pageNum=1pageSize=0try:while(pageSize<=125):#headers={'User-Agent':'Mozilla/5.
4、0(WindowsNT6.1)AppleWebKit/537.11(KHTML,likeGecko)Chrome/23.0.1271.64Safari/537.11',#'Referer':None#注意如果依然不能抓取地話,這里可以設(shè)置抓取網(wǎng)站地host#}#opener=urllib.request.build_opener()#opener.addheaders=[headers]url="https://movie.douban.com/top250?start="+str(pageSize)+"&filter="+str(pageNum)#data['html%s'%i]=urlli
5、b.request.urlopen(url).read().decode("utf-8")-13-/15個(gè)人收集整理僅供參考學(xué)習(xí)data.append(urllib.request.urlopen(url).read().decode("utf-8"))pageSize+=25pageNum+=1print(pageSize,pageNum)exceptExceptionase:raiseereturndatay6v3ALoS892爬取數(shù)據(jù)def__getData(html):title=[]#電影標(biāo)題#rating_num=[]#評分range_num=[]#排名#rating_people
6、_num=[]#評價(jià)人數(shù)movie_author=[]#導(dǎo)演data={}#bs4解析htmlsoup=BeautifulSoup(html,"html.parser")forliinsoup.find("ol",attrs={'class':'grid_view'}).find_all("li"):title.append(li.find("span",class_="title").text)#rating_num.append(li.find("div",-13-/15個(gè)人收集整理僅供參考學(xué)習(xí)class_='star').find("span",class_='rating_num').
7、text)range_num.append(li.find("div",class_='pic').find("em").text)#spans=li.find("div",class_='star').find_all("span")#forxinrange(len(spans)):#ifx<=2:#pass#else:#rating_people_num.append(spans[x].str