Java实现网易云音乐爬虫实验报告.docx

Java实现网易云音乐爬虫实验报告.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 PAGE 2 页 共 NUMPAGES 2 页 江南大学 Java网络程序设计 程序设计题目 网易云音乐网站信息爬取 班级 Xxxx 姓名 山水不言 学号 Xxxxx 2019 年 6 月 课程设计内容 网易云网站信息抓取:利用爬虫技术爬取网易云网站信息,统计分析出播放量前列的热门歌单,并且对歌单里的每一首歌曲页面进行爬取,分析歌曲的评论数量以及歌曲热评内容。对评论点赞量超过一万的所有热评人进行基础信息爬取和分析。 具体内容:在爬取1301个歌单页面,57294个歌曲页面,21976个用户页面后分析出以下信息 热门歌单的播放量,以此创建榜单 热门歌单的歌单介绍,歌单的歌曲数目,歌单创建的日期,以此分析热门歌单形成的原因 热门歌单里所有歌曲的歌手和评论数量,以此创建榜单 平均每首歌曲的评论数在10万以上的歌手 每首歌曲的前六条评论内容,分别统计评论获得的赞 (6)获取点赞量在50万以上的评论和点赞量在100万以上的评论 (7)歌曲前六位热评人的名字,id号 (8)评论获赞在2万以上的热评人的年龄分布,地区分布,性别比例 (9)评论获赞在2万以上的热评人使用网易云的时间,账号的等级,购买会员的情况 背景知识 网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览 \o "万维网" 万维网的 网络机器人。 网络爬虫始于一张被称作种子的统一资源地址(URL)列表。当网络爬虫访问这些统一资源定位器时,它们会甄别出页面上所有的超链接,并将它们写入一张“待访列表”,即所谓 爬行疆域。此疆域上的URL将会被按照一套策略循环来访问。 爬虫在执行的过程中复制归档和保存网站上的信息,爬虫获取的资源一般有HTML类型和json类型 ,获取资源时有两种获取方式:Get请求和Post请求,用的最多的是Get请求,Post请求经常用于登录网,所传送的参数一般也加了密。 爬虫爬取数据频率过高时会对目标网站的服务器带来异常访问频率,一般的中大型网站都会有反爬措施,相应地爬取网站可以设置休眠时间和使用代理ip。 爬虫得到的数据有效性是有限的,网页的数据时刻在变化,有时候网页的框架也会发生变化,这可能导致数据过时或者爬虫程序无法运行成功。 设计步骤与方法 1.选定爬取网站 网易云音乐是当下最火听歌软件之一,有很大的用户基数,里面有一些网易云独特的文化现象,比如用户听歌的时候喜欢看评论,每首歌曲的热评都有故事性或者趣味性,基于此种特性以及个人兴趣我选取了网易云音乐网站作为爬取的对象。 2.爬取信息的初步确定 网易云用户一般比较关注哪些歌单里面的歌比较好听,有哪些值得推荐的歌曲,有哪些评论值得一看,热评用户的信息等,因此,本爬虫项目会针对热门歌单,热门歌手,热门歌曲,热门评论,以及热评用户信息做一个基本获取并且分析结论。 3.选取爬虫需要的工具 经过上网查询资料,java爬虫工具使用的最多的是httpClient以及webmegic,其中webmegic实现则应用了httpclient、jsoup等java成熟的工具。它几乎使用Java原生的开发方式,只不过提供了一些模块化的约束,封装一些繁琐的操作,并且提供了一些便捷的功能。 Webmegic的特点是:(1)简单的API,可快速上手;(2)模块化的结构,可轻松扩展;(3)提供多线程和分布式支持。 由于后期分析有效数据的需要,搭配了正则表达式和Document类的使用。 4.选择项目的类型 由于采用了包含webmegic,jsoup,正则表达式等工具,需要在java项目里面导入多个外部的jar包,工作项目选用了方便管理包的项目框架:Maven项目,借助此项目框架可以用pom.xml文件灵活地下载包。 5.熟悉爬虫工具 爬虫工具的使用网上有较多的教程,其中webmegic有官方的中文文档,可以在里面方便地查询相关的知识。 Webmegic有以下四大组件,Downloader负责从互联网上下载页面,PageProcessor负责解析页面,Scheduler负责管理待抓取的URL,Pipeline负责抽取结果的处理,包括计算、持久化到文件、数据库等。而Spider则将这几个组件组织起来,让它们可以互相交互,流程化的执行,可以认为Spider是一个大的容器,它也是WebMagic逻辑的核心。下图是四个组件以及Spider的关系表示: 6.尝试爬取一个url地址的信息 源代码以及注释如下 public class SongCrawler implements PageProcessor{ public static String url="/m/song? id=494152135" public void getSongInfo() { Spider.creat

文档评论(0)

说是山水mio + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档