• 获取虾米音乐的歌词


    import java.io.BufferedWriter;  
    import java.io.File;  
    import java.io.FileOutputStream;  
    import java.io.OutputStreamWriter;  
    import java.util.List;  
    import java.lang.String;  
     
    import org.jsoup.Jsoup;  
    import org.jsoup.nodes.Document;  
    import org.jsoup.nodes.Element;  
    import org.jsoup.nodes.TextNode;  
    import org.jsoup.select.Elements;  
     
    public class Demo2 {  
     
        public static void main(String[] args) throws Exception {  
     
            Document doc = Jsoup.connect("http://www.xiami.com//artist/top-iim17edb"/*可输入任意艺人首页地址*/).get();// 访问艺人首页  
            Elements chapterUrls = doc.select(".song_name");// 爬取歌曲列表  
         
            for (Element chapterUrl : chapterUrls) {  
                Element usefulChapterUrl = chapterUrl.select("a").get(0);// 访问歌曲而不是mv  
                System.out.println("----------");
                System.out.println(usefulChapterUrl);
                String chapterLocation = "http://www.xiami.com" + usefulChapterUrl.attr("href");// 获得歌曲地址  
                Document chapterDoc = Jsoup.connect(chapterLocation)  
                        .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Fi").get();// 访问歌曲页面  
                String title = usefulChapterUrl.html().toString();// 歌名  
     
                File file = new File("D:\周杰伦\" + title + ".txt");// D盘创建文件  
                BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));  
                Elements ele = chapterDoc.select("#lrc").select(".lrc_main");// 爬取歌词  
     
                // 以每句歌词换行的形式输入文件  
                for (Element a : ele) {  
                    List<TextNode> texts = a.textNodes();  
                    for (int i = 0; i < texts.size(); i++) {  
                        TextNode t = texts.get(i);  
                        String content = t.text();  
                        bw.write(content);  
                        bw.newLine();  
                       // System.out.println(content);  
                    }  
     
                }  
                bw.close();  
            }  
        }  

  • 相关阅读:
    ListView与ArrayAdapter(二)
    ListView与SimpleAdapter(三)
    对于ListView的一些用法(一)
    如何使用AsyncTask
    you must restart adb and eclipse的相关解决办法
    leetcode 移动零 JAVA
    leetcode 有效的字母异位词 java
    leetcode 单词拆分 II java
    leetcode 分割回文串 java
    leetcode 验证回文串 java
  • 原文地址:https://www.cnblogs.com/chenlove/p/8798182.html
Copyright © 2020-2023  润新知