成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java爬蟲其實(shí)也很簡單,實(shí)用的入門級爬蟲

icyfire / 2459人閱讀

摘要:前言任何語言都是可以爬蟲的,只要你懂的常用的協(xié)議啥的就可以模仿瀏覽器的行為獲取你想要的數(shù)據(jù)。這里我將教大家一個(gè)簡單實(shí)用的案例如何獲取全民歌的下載鏈接。這就獲得所有參數(shù)最終的體了。這塊沒啥好說的,不是我們的教程范圍。我一般用的,,。

前言

任何語言都是可以爬蟲的,只要你懂的常用的http協(xié)議啥的就可以模仿瀏覽器的行為獲取你想要的數(shù)據(jù)。這里我將教大家一個(gè)簡單實(shí)用的案例:如何獲取全民K歌的下載鏈接。
ps: 這主要是教大家一個(gè)入門級的爬蟲,不是希望大家去跳過vip下載...
這里有碼云的代碼片段是main的解析可以參考下: 碼云代碼片段

瀏覽器抓包

那種專業(yè)fildder這類軟件抓包我就不提了,免得文章顯得更加復(fù)雜化。
推薦用谷歌瀏覽器容易看。

1.打開瀏覽器進(jìn)去一個(gè)分享鏈接
2.按F12進(jìn)入開發(fā)者模式
3.點(diǎn)擊NetWork
4.最好重新刷新一下頁面看下所有訪問路徑

只要是網(wǎng)頁瀏覽器就可以抓到所有的訪問請求。接下來就是尋找那個(gè)音樂的鏈接了:

等你找到你會發(fā)現(xiàn)很顯然,那個(gè)路徑?jīng)]有任何規(guī)律,也不知道下載路徑如何而來。但是只要思想不滑坡,辦法總比困難多。我們找一下是否可以在HTML這些直接找到現(xiàn)成的鏈接,音樂的播放標(biāo)簽一般都是 audio
我們?nèi)lement查找這個(gè)節(jié)點(diǎn)的時(shí)候可以發(fā)現(xiàn)確實(shí)有下載鏈接

這樣我們大概知道鏈接的地址了!我們就可以放開手?jǐn)]代碼了!

嘗試擼代碼

這里我推薦用Jsoup,我用的是版本是1.11.2。

maven: http://www.mvnrepository.com/...
public class QuanMinJousp {
    public static void main(String[] args)throws Exception {    
        //這里是分享地址:
        String url  ="https://kg2.qq.com/node/play?s=571cI75H1xb495Eq&shareuid=609c9b812624338a&topsource=a0_pn201001006_z11_u21643941_l0_t1534223843__";
        Connection tempConn = Jsoup.connect(url);
        //模擬瀏覽器的請求頭
        tempConn.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0");
        //開始連接HTTP請求。
        Connection.Response demo = tempConn.ignoreContentType(true).method(Connection.Method.GET)
                .execute();
        Document documentDemo = demo.parse();
                //這里就是獲取該頁面的HTML元素。
        System.out.println(documentDemo.toString());
       }
}

打印出來的HTML不出所料,就找不到audio的標(biāo)簽,很明顯是后續(xù)才加載出這個(gè)標(biāo)簽來播放音樂的。那這個(gè)下載地址是哪里來的呢。我們可以在打印出來的HTML可以找到其他線索:
不出所料,在所有script標(biāo)簽中 的第三個(gè)我們發(fā)現(xiàn)了貓膩。

所有的數(shù)據(jù)都在這個(gè)標(biāo)簽里,包括評論,送花,歌曲鏈接等等所有都在里面。我們拿到標(biāo)簽里的內(nèi)容就可以了。里面的參數(shù)竟然是標(biāo)準(zhǔn)的json格式更加天助我也!我們用代碼去掉閑雜人等。

        Elements scriptElements = documentDemo.getElementsByTag("script");
        String initScriptStr = scriptElements.get(2).toString();
        String jsonStr = initScriptStr.substring(initScriptStr.indexOf("{"), initScriptStr.indexOf("; "));
        //這就獲得所有參數(shù)最終的json體了。
        System.out.println(jsonStr);  

接下來就是Json解析成自己的實(shí)體類對象啥的了。這塊沒啥好說的,不是我們的教程范圍。我一般用的simpleJson,gson,fastJson。阿里巴巴的我用的多一點(diǎn)。

最后我把這段代碼功能接入我的微信公眾號實(shí)現(xiàn)效果:

小伙伴們可以關(guān)注公眾號體驗(yàn)一波:

結(jié)束

該教程僅供學(xué)習(xí)參考,不涉及商業(yè),涉及侵權(quán)啥的任何問題本人概不負(fù)責(zé)啊哈哈哈哈哈略略略

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76739.html

相關(guān)文章

  • Java爬蟲其實(shí)也很簡單實(shí)用入門爬蟲

    摘要:前言任何語言都是可以爬蟲的,只要你懂的常用的協(xié)議啥的就可以模仿瀏覽器的行為獲取你想要的數(shù)據(jù)。這里我將教大家一個(gè)簡單實(shí)用的案例如何獲取全民歌的下載鏈接。這就獲得所有參數(shù)最終的體了。這塊沒啥好說的,不是我們的教程范圍。我一般用的,,。 前言 任何語言都是可以爬蟲的,只要你懂的常用的http協(xié)議啥的就可以模仿瀏覽器的行為獲取你想要的數(shù)據(jù)。這里我將教大家一個(gè)簡單實(shí)用的案例:如何獲取全民K歌的下...

    TesterHome 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.30 - 學(xué)習(xí) Python 來做一些神奇好玩事情吧

    摘要:學(xué)習(xí)筆記七數(shù)學(xué)形態(tài)學(xué)關(guān)注的是圖像中的形狀,它提供了一些方法用于檢測形狀和改變形狀。學(xué)習(xí)筆記十一尺度不變特征變換,簡稱是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡明扼要地說明的編碼機(jī)制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來看這樣一個(gè)提問: pyth...

    lifesimple 評論0 收藏0
  • scrapy入門教程3:scrapyshell命令

    摘要:用例運(yùn)行爬蟲命令基本語法是否需要項(xiàng)目存在當(dāng)然是不需要咯貌似這個(gè)命令是不依托一個(gè)項(xiàng)目而直接運(yùn)行一個(gè)爬蟲的命令。用例我終于寫完了,喜歡的就收藏推薦一下吧,這樣我就會更有動力寫新的教程了,哇哈哈 0. 基本環(huán)境說明 本文截圖及運(yùn)行環(huán)境均在Win8上實(shí)現(xiàn)(是的,我放假回家了,家里的機(jī)器是win8的沒有辦法),但基本步驟與win 7環(huán)境基本相同。(應(yīng)該把~)ps:我后來換了臺win7的電腦,所...

    zhongmeizhi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<