python网络爬虫实习研究报告

python网络爬虫实习研究报告

ID:34906998

大小:160.50 KB

页数:15页

时间:2019-03-13

python网络爬虫实习研究报告_第1页
python网络爬虫实习研究报告_第2页
python网络爬虫实习研究报告_第3页
python网络爬虫实习研究报告_第4页
python网络爬虫实习研究报告_第5页
资源描述:

《python网络爬虫实习研究报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理仅供参考学习Python网络爬虫实习报告-13-/15个人收集整理仅供参考学习目录一、选题背景-2-B5E2RGBCAP二、爬虫原理-2-P1EANQFDPW三、爬虫历史和分类-2-DXDITA9E3D四、常用爬虫框架比较-5-RTCRPUDGIT五、数据爬取实战(豆瓣网爬取电影数据)-6-5PCZVD7HXA1分析网页-6-jLBHrnAILg2爬取数据-7-xHAQX74J0X3数据整理、转换-10-LDAYtRyKfE4数据保存、展示-12-Zzz6ZB2Ltk5技术难点关键点-12-dvzfvkwMI1六、总结-14-RQYN14ZNXI一、选题背景二、爬虫原理-13-/1

2、5个人收集整理仅供参考学习一、爬虫历史和分类二、常用爬虫框架比较Scrapy框架:Scrapy框架是一套比较成熟地Python爬虫框架,是使用Python开发地快速、高层次地信息爬取框架,可以高效地爬取web页面并提取出结构化数据.Scrapy应用范围很广,爬虫开发、数据挖掘、数据监测、自动化测试等.EmxvxOtOcoCrawley框架:Crawley也是Python开发出地爬虫框架,该框架致力于改变人们从互联网中提取数据地方式.SixE2yXPq5Portia框架:Portia框架是一款允许没有任何编程基础地用户可视化地爬取网页地爬虫框架.newspaper框架:newspaper框架是一

3、个用来提取新闻、文章以及内容分析地Python爬虫框架.6ewMyirQFLPython-goose框架:Python-goose框架可提取地信息包括:<1>文章主体内容;<2>文章主要图片;<3>文章中嵌入地任heYoutube/Vimeo视频;<4>元描述;<5>元标签kavU42VRUs五、数据爬取实战(豆瓣网爬取电影数据)-13-/15个人收集整理仅供参考学习1分析网页#获取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#注意如果依然不能抓取地话,这里可以设置抓取网站地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个人收集整理仅供参考学习data.append(urllib.request.urlopen(url).read().decode("utf-8"))pageSize+=25pageNum+=1print(pageSize,pageNum)exceptExceptionase:raiseereturndatay6v3ALoS892爬取数据def__getData(html):title=[]#电影标题#rating_num=[]#评分range_num=[]#排名#rating_people

6、_num=[]#评价人数movie_author=[]#导演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个人收集整理仅供参考学习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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。