爬虫爬取音乐url大全

今天无聊,想做个公众号点播歌曲功能,所以去某网站爬了303222首音乐,音乐有效率较高,爬了8个小时还没爬完,我就不爬了。

两个方法小功能有点不一样,所以写的有的显得多余,不管这么多了,能爬就行,其实我的很多代码都是通过分析原网站的内容,url来写的,所以你可能要去分析一下网站结构,url跳转情况,才看得懂。源代码如下:Music是个bean

public class MusicURl {
//  303222
//  static QueryRunner runner = new QueryRunner(TransactionManagerUtil2.getSource());
//  http://www.333ttt.com
//  http://www.333ttt.com/up/?page=5  page 1-30000   一个page一首歌
//  <a target="h" href="/up/up2103526739.html">耿耿星河-Mc神五精华版.mp3</a></td>public static void main(String[] args) throws Exception{int sum=0;for(int i=1;i<=30000;i++){String allStr=getURLContent1("http://www.333ttt.com/up/?page="+i,"utf-8");List<String>urls=getMatcherSubstrs(allStr,"<a[^>]*href=\"(?<href>[^\"]*)\"[^>]*>");for (String string : urls) {String str=getURLContent("http://www.333ttt.com/"+string,"utf-8");String url=getMatcherSubstrs(str,"http://[\\w/.]+\\.mp3",0);String name=getMatcherSubstrs(str,"<a[^<>]*?>\\s*(.*?)\\s*</a>",1);Music music=new Music(url, name);String json=JSON.toJSONString(music);BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("d:/musicurl.txt"), true)));     out.write(json+"\r\n");  out.close();sum++;System.out.println("第"+sum+"个:"+json);//         String sql = "insert into musicurl values(null,?,?)";
//          runner.update(sql, name, url);}}}/*** * @param url地址* @param 字符级* @return  网页源码*/public static String getURLContent(String urlStr,String charSet){StringBuilder sb=new StringBuilder();try {URL url=new URL(urlStr);BufferedReader reader=new BufferedReader(new InputStreamReader(url.openStream(),Charset.forName(charSet)));String temp="";while((temp=reader.readLine())!=null){if(temp.contains("音乐名称"))sb.append(temp+"\r\n");}}  catch (IOException e) {e.printStackTrace();}return sb.toString();}public static String getURLContent1(String urlStr,String charSet){StringBuilder sb=new StringBuilder();try {URL url=new URL(urlStr);BufferedReader reader=new BufferedReader(new InputStreamReader(url.openStream(),Charset.forName(charSet)));String temp="";while((temp=reader.readLine())!=null){sb.append(temp+"\r\n");}}  catch (IOException e) {e.printStackTrace();}return sb.toString();}/*** * @param 网页源码* @param 正则表达式* @return 超链接*/public static String getMatcherSubstrs(String str,String regexStr,int i){Pattern pattern=Pattern.compile(regexStr);Matcher matcher=pattern.matcher(str);String result = "";if(matcher.find()){result=matcher.group(i);}return result; }public static List<String> getMatcherSubstrs(String str,String regexStr){Pattern pattern=Pattern.compile(regexStr);Matcher matcher=pattern.matcher(str);List<String> result = new ArrayList<String>();while(matcher.find()){if(matcher.group(1).endsWith(".html")&&!result.contains(matcher.group(1)))result.add(matcher.group(1));}return result; }}

爬去的文件有30多M,上传到百度云实在太慢了,我还是上传到csdn,有兴趣的朋友可以下,我是实在不想收积分钱,可是csdn上传必须设置积分,哎呀!

url

爬虫爬取音乐url大全相关推荐

  1. java爬虫爬取音乐

    以前写过一个音乐网站,我都是手动去下载音乐,并上传到网站,非常麻烦. 学习了HttpClinet和Jsoup 我决定完成一个简单的爬虫去收集音乐信息,并下载音乐: 先尝试做几个简单的小功能: 基本功能 ...

  2. python爬虫爬取音乐单曲_Python爬取qq音乐的过程实例

    一.前言 qq music上的音乐还是不少的,有些时候想要下载好听的音乐,但有每次在网页下载都是烦人的登录什么的.于是,来了个qqmusic的爬虫.至少我觉得for循环爬虫,最核心的应该就是找到待爬元 ...

  3. python爬虫爬取音乐_利用python爬虫实现爬取网易云音乐热歌榜

    利用python爬虫实现爬取网易云音乐热歌榜 发布时间:2020-11-09 16:12:28 来源:亿速云 阅读:102 作者:Leah 本篇文章给大家分享的是有关利用python爬虫实现爬取网易云 ...

  4. python爬取音乐歌曲大全_Python爬取网易云音乐歌单歌曲

    # 从网易云音乐下载歌单歌曲 # 参考了这些网址 # https://blog.csdn.net/Ciiiiiing/article/details/62434438 # https://github ...

  5. python网易云_用python爬虫爬取网易云音乐

    标签: 使用python爬虫爬取网易云音乐 需要使用的模块 只需要requests模块和os模块即可 开始工作 先去网易云音乐网页版找一下你想要听的歌曲点击进去.按键盘F12打开网页调试工具,点击Ne ...

  6. python爬虫爬取网易云音乐歌曲_Python网易云音乐爬虫进阶篇

    image.png 年前写过一篇爬网易云音乐评论的文章,爬不了多久又回被封,所以爬下来那么点根本做不了什么分析,后面就再改了下,加入了多线程,一次性爬一个歌手最热门50首歌曲的评论,算是进阶版了- 思 ...

  7. python爬虫----爬取网易云音乐

    使用python爬虫爬取网易云音乐 目录 使用python爬虫爬取网易云音乐 需要使用的模块 开始工作 运行结果 需要使用的模块 只需要requests模块和os模块即可 开始工作 先去网易云音乐网页 ...

  8. python网络爬虫网易云音乐下载_python网络爬虫爬取网易云音乐

    #爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...

  9. java怎么爬网易云_Python爬虫爬取网易云的音乐

    Python爬虫爬取网易云的音乐(学习笔记) 在开始之前,做一点小小的说明哈: 我只是一个python爬虫爱好者,如果本文有侵权,请联系我删除! 本文需要有简单的python爬虫基础,主要用到两个爬虫 ...

最新文章

  1. eclipse 导出项目到 android studio .so 库
  2. 使用matplotlib,同时在多个figure画图
  3. 去伪存真:因果约束下的图神经网络泛化
  4. MariaDB备份和恢复
  5. ListView的Adapter使用(绑定数据) 之 自定义每一项的布局去绑定数据(二)
  6. 手机1像素线粗_关于移动端一像素线的解决方案
  7. bootstrapValidator验证的remote中data属性里获取select一直是默认值
  8. 25@JSP_day08
  9. mysql创建的是拉丁_mysql 拉丁1 转换成 utf8
  10. 在ASP.NET MVC应用程序中随机获取一个字符串
  11. 【渝粤教育】广东开放大学 商务交际听说 形成性考核 (31)
  12. [转载] 3 idiots
  13. 十个超级简单的Python代码,拿走即用
  14. 在html中函数无效,无法在按钮点击HTML中调用JavaScript函数
  15. 会议室管理前端页面_多媒体会议室,会议系统,指挥控制中心,调度中心方案设计方案...
  16. hive优化:大表关联数据倾斜问题
  17. 结算机网络的tracert和route命令
  18. [转帖]实时协同设计CAD平台
  19. 10-3 查找王姓同学不学的课程的课程号
  20. 关于比尔盖茨的几点思考

热门文章

  1. mysql并列查询_MYSQL实现排名及查询指定用户排名功能(并列排名功能)实例代码...
  2. 【Python】SEBS模型计算蒸散发
  3. 全网比较火的爱心代码
  4. 蓝桥杯—切面条/大衍数列
  5. 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第10章 分析句子的意思
  6. CSDN官方markdown教程
  7. 快餐行业进入“黄金时代”,左手天堂右手地狱
  8. 一只喵的西行记-8 魔法猫堡
  9. 安装kubectl失败:error: unpacking of archive failed on file /usr/bin/kubectl: cpio: rename
  10. 微信公众号图文如何插入Excel表格