![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 七嘴八舌異言堂
(https://www.pcdvd.com.tw/forumdisplay.php?f=12)
- - 第一次 寫電腦語言 寫程式
(https://www.pcdvd.com.tw/showthread.php?t=936213)
|
---|
第一次 寫電腦語言 寫程式
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"> |
pcdvd 就是網路 餐館 要吃啥有啥。 點啥就沒啥。
要解決進階問題 唯有自己摸索做功課 沒人幫得了忙。 :D |
第一次喔... 大概很難吧
|
網頁元素分析啊? 這很簡單啊,
不過我建議你這麼高等的人類, 別寫程式, 去做些更有意義的事. 程式是我這種低等猴子在寫的~ :like: :like: :like: :like: :like: |
引用:
用C處理html比較吃力, 建議樓主學VBA, 寫WSH(window Script Host). 在WSH裡使用HttpRequest模擬瀏覽器對網站發出query, 傳回來的response就是整個網頁原始碼, 再寫一段parser根據特定關鍵字擷取你要的資訊即可. 用WSH寫應該不用超過100行程式碼. 不然你直接抓歌單的網頁下來, 我看看之前寫的Excel VBA能不能幫上你 (我從首頁看不到歌名日期, 也認不得哪個字是樂團名稱) |
引用:
看到有人回應真的很高興, 非常感謝您,有關鍵字"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 |
找到這頁
http://neural.cs.nthu.edu.tw/jang/b...sp/example/WSH/ WSH 範例程式 getwebpage3.js 抓取一個網頁,並將其內容存入一個檔案 |
看來是想寫砍站程式....
很久很久以前,我就寫過Perl Script 來砍美女圖網站... 因為一張一張手動抓好累... 於是.... Regular Expression 出動了... 然後把圖都燒起來用CD存放 , 幾年前決定把這些美女圖CD全部扔了,回收去了!! 基本上我不想背罵名,所以就不幫忙了.... :D:D:D |
我看到播放器會顯示正在播放的歌名/歌手 以及剛才播放的歌名/歌手
本程式執行時會記錄執行時間, 以及當時正在播放的歌名與歌手 在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 |
[QUOTE=sazabijiang]我看到播放器會顯示正在播放的歌名/歌手 以及剛才播放的歌名/歌手
...恕刪 請受小弟一拜。 感恩。 |
所有的時間均為GMT +8。 現在的時間是03:25 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。