![]() |
||
Basic Member
加入日期: May 2003
文章: 22
|
第一次 寫電腦語言 寫程式
http://www.96fm.com.au/
網路電台的歌單想側錄下來 下載Dev-C+ 嘗試寫看看,不如何著手, 如有仁兄能指點迷津,非常感激 側錄 : 日期 歌名 樂團歌手 另存為文件或excel文件檔 以下是網頁部份原始碼, <!DOCTYPE html> <html><!-- InstanceBegin template="/Templates/mainTemplate.dwt.php" codeOutsideHTMLIsLocked="false" --> <head> <meta name="description" content=""/> <meta name="keywords" content=""/> <link rel="shortcut icon" href="http://www.96fm.com.au/favicon.ico" /> <!-- ********************************************* Site developed by Harmonic New Media http://www.harmonicnewmedia.com Copyright 2011. All rights reserved. Design: Harmonic New Media ********************************************* --> <!-- InstanceBeginEditable name="doctitle" --> <title>96fm - Perth's Best Music</title> <!-- InstanceEndEditable --> <!-- *************************************************** <span class="Apple-style-span" style="border-collapse: separate; color: rgb(102, 102, 102); font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="color: rgb(68, 68, 68); font-weight: bold; ">Sunday 17 Jul 2011 14h35</span></span> onclick="window.open('http://www.96fm.com.au/index.php/player','listen_live','width=620,height=310');return false;" ></a> <section id="box-onair"> <h2>On Air Now</h2> <div id="now-playing"> <span class="onair-tts">Now Playing</span> <span>WHEN LOVE COMES TO TOWN</span> <span><em>U2</em></span> </div> <div id="just-played"> <span class="onair-tts">Just Played</span> <span>ROCK D.J - <em>ROBBIE WILLIAMS</em></span> <span>ROLLING IN THE DEEP - <em>ADELE</em></span> </div> <div id="show-details"> <span class="onair-tts">Show Details</span> <span id="show-name">Currently no shows. <a href="http://www.96fm.com.au/index.php/shows/showDetail/"></a></span> <span> </span> </div> </section> <section id="banner-square" class="banner-box"> <a href="http://www.96fm.com.au/index.php/contact/">Advertisement</a> <script type="text/javascript"> |
|||||||
![]() |
![]() |
Elite Member
![]() ![]() ![]() ![]() ![]() 加入日期: Nov 2000 您的住址: 台北
文章: 5,452
|
pcdvd 就是網路 餐館 要吃啥有啥。 點啥就沒啥。
要解決進階問題 唯有自己摸索做功課 沒人幫得了忙。 ![]() |
||
![]() |
![]() |
Senior Member
![]() ![]() ![]() 加入日期: Nov 2002
文章: 1,414
|
第一次喔... 大概很難吧
|
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2001
文章: 211
|
網頁元素分析啊? 這很簡單啊,
不過我建議你這麼高等的人類, 別寫程式, 去做些更有意義的事. 程式是我這種低等猴子在寫的~ ![]() ![]() ![]() ![]() ![]()
__________________
滿招損 謙受益 |
![]() |
![]() |
*停權中*
加入日期: Sep 2004 您的住址: 台北
文章: 8
|
引用:
用C處理html比較吃力, 建議樓主學VBA, 寫WSH(window Script Host). 在WSH裡使用HttpRequest模擬瀏覽器對網站發出query, 傳回來的response就是整個網頁原始碼, 再寫一段parser根據特定關鍵字擷取你要的資訊即可. 用WSH寫應該不用超過100行程式碼. 不然你直接抓歌單的網頁下來, 我看看之前寫的Excel VBA能不能幫上你 (我從首頁看不到歌名日期, 也認不得哪個字是樂團名稱) 此文章於 2011-07-17 05:42 PM 被 sazabijiang 編輯. |
|
![]() |
![]() |
Basic Member
加入日期: May 2003
文章: 22
|
引用:
看到有人回應真的很高興, 非常感謝您,有關鍵字"VBA",我就可以google,研究一下。 歌名寫在這, <span class="onair-tts">Now Playing</span> <span>WHEN LOVE COMES TO TOWN</span> <span><em>U2</em></span> 做重整網頁刷新歌名時,在browser狀態列會看到的URL是首頁http://www.96fm.com.au/ 播放器的url = http://www.96fm.com.au/index.php/player 再次感謝 sazabijiang 此文章於 2011-07-17 06:20 PM 被 errorsmyth 編輯. |
|
![]() |
![]() |
Basic Member
加入日期: May 2003
文章: 22
|
找到這頁
http://neural.cs.nthu.edu.tw/jang/b...sp/example/WSH/ WSH 範例程式 getwebpage3.js 抓取一個網頁,並將其內容存入一個檔案 |
![]() |
![]() |
Elite Member
![]() ![]() ![]() ![]() ![]() 加入日期: Jan 2002
文章: 4,031
|
看來是想寫砍站程式....
很久很久以前,我就寫過Perl Script 來砍美女圖網站... 因為一張一張手動抓好累... 於是.... Regular Expression 出動了... 然後把圖都燒起來用CD存放 , 幾年前決定把這些美女圖CD全部扔了,回收去了!! 基本上我不想背罵名,所以就不幫忙了.... ![]() ![]() ![]()
__________________
您想買新硬碟嗎? 購買前請務必參考這篇文章,是我的實際經驗 還想讓統一賺你的錢嗎?統一集團成員(能見度高的): 星巴克、家樂福、7-11、無印良品、黑貓宅急便、聖娜多堡、阪急百貨、 康是美、博客來、夢時代、Mister Donut 、Cold Stone 、龜甲萬、 維力33%股權、光泉31%股權、Smile速邁樂、紅心辣椒、台北轉運站(統一企業BOT) 統一LP33膠囊有環保署早已列管的一級管制品: DNOP塑化劑 |
![]() |
![]() |
*停權中*
加入日期: Sep 2004 您的住址: 台北
文章: 8
|
我看到播放器會顯示正在播放的歌名/歌手 以及剛才播放的歌名/歌手
本程式執行時會記錄執行時間, 以及當時正在播放的歌名與歌手 在C根目錄開啟一個空白文字檔例如 getweb.txt, 貼上以下程式碼存檔, 檔名改為getweb.vbs, 點兩下即可執行, 在C根目錄會產生songlist.txt ' 指定要存取的網址URL WEBURL = "http://www.96fm.com.au/index.php/player" ' 指定歌曲資訊存檔路徑與檔名 OUTFILE = "c:\songlist.txt" ' 指定網頁關鍵字, 用以判別網頁內容是否有用 KEYWORD = "<h2>Now Playing</h2>" Set objWinHttp = WScript.CreateObject("WinHttp.WinHttpRequest.5.1") Set fs = WScript.CreateObject("Scripting.FileSystemObject") Set FileOut = fs.OpenTextFile(OUTFILE, 8, True) ' 下載目標網頁原始碼 objWinHttp.Open "GET", WEBURL, false objWinHttp.Send RContent = objWinHttp.ResponseText available = instr(1, RContent, KEYWORD, 1) If available <> 0 Then FileOut.WriteLine "Time: " + cStr(Time()) Info = GetSongInfo(RContent) FileOut.WriteLine Info FileOut.WriteLine "" FileOut.Close msgbox(Info) else msgbox ("網頁[" + WEBURL + "] 不存在關鍵字[" + KEYWORD + "]. 程式終止") End If ' =============================== ' 傳入網頁內容, 傳回歌曲資訊 ' =============================== Function GetSongInfo(vContent) startAddr = instr(1, vContent, KEYWORD, 1) If startAddr > 0 then startAddr = instr(startAddr, vContent, "<span>", 1) endAddr = instr(startAddr, vContent, "</span>", 1) Info1 = Mid(vContent, startAddr+6, endAddr-startAddr-6) startAddr = instr(endAddr, vContent, "<span><em>", 1) endAddr = instr(startAddr, vContent, "</em></span>", 1) Info2 = Mid(vContent, startAddr+10, endAddr-startAddr-10) GetSongInfo = Info1 + ", " + Info2 else GetSongInfo = "沒有歌曲資訊" End If End Function |
![]() |
![]() |
Basic Member
加入日期: May 2003
文章: 22
|
[QUOTE=sazabijiang]我看到播放器會顯示正在播放的歌名/歌手 以及剛才播放的歌名/歌手
...恕刪 請受小弟一拜。 感恩。 |
![]() |
![]() |