欢迎来到天天文库
浏览记录
ID:34906998
大小:160.50 KB
页数:15页
时间:2019-03-13
《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
此文档下载收益归作者所有