首页 > 编程地带 > 提取网页内的mp3地址

提取网页内的mp3地址

2009年2月11日 发表评论 阅读评论

  有些网页对真实的mp3地址进行了防盗链处理,造成无法直接查看源文件来获取真实的物理地址。有时他会将地址保存在%USERPROFILE%\Administrator\Local Settings\Temporary Internet Files 目录下面为html文件,其中就包含了其真实的地址,有时在一个网页内有多个mp3地址,也就会有多个html文件,如果手工一个一个处理相当麻烦,下面用 bat+vbs 来提取,其实用findstr也可以。更简单!
bat code:

<br />@echo off<br />REM code by woyigui<br />REM dir命令后的htm文件随意修改<br />for /f "tokens=*" %%i in (&#039;dir /s /b ^"C:&#92;Documents and Settings&#92;Administrator&#92;Local Settings&#92;Temporary Internet Files&#92;MusicUrl*.htm^"&#039;) do type "%%i" >> d:&#92;mp3plist.txt && echo. >>d:&#92;mp3plist.txt<br />cscript mp3-url.vbs d:&#92;mp3plist.txt

vbs code:

Dim p,s,re<br />If Wscript.Arguments.Count=0 Then<br />Msgbox "请把网页拖到本程序的图标上!",,"提示"<br />Wscript.Quit<br />End If<br />For i= 0 to Wscript.Arguments.Count - 1<br />p=Wscript.Arguments(i)<br />With CreateObject("Adodb.Stream")<br />.Type=2<br />.Charset="GB2312"<br />.Open<br />.LoadFromFile=p<br />s=.ReadText<br />Set re =New RegExp<br />re.Pattern= "(http://.*.mp3)"<br />re.Global = True<br />If Not re.Test(s) Then<br />Msgbox "该网页文件中未出现网址!",,"提示"<br />Wscript.Quit<br />End If<br />Set Matches = re.Execute(s)<br />s=""<br />For Each Match In Matches<br />s=s & Match.Value & vbCrlf<br />Next<br />re.Pattern= "&&#92;w+;?&#124;&#92;W{5,}"<br />s=re.Replace(s,"")<br />.Position=0<br />.setEOS<br />.WriteText s<br />.SaveToFile p,2<br />.Close<br />End With<br />Next

其中的vbs略加修改,可用于很多需求。最后的结果在:d:\mp3plist.txt 文件中。

转载请注明:woyigui's blog [http://www.woyigui.cn/]
本文标题:提取网页内的mp3地址
本文地址:http://www.woyigui.cn/2009/02/11/bat-vbs-mp3plist/

分类: 编程地带 标签: ,
  1. 2009年2月12日06:31 | #1

    恩,不错,不错。

    [回复]

  2. 动感超哥
    2009年2月13日11:21 | #2

    貌似还是打不开有的防盗链网站比如这个 http://www.cnwq.net/play1/19505.html 这个网站我搞了很久了都找不到方法搞定他,不知道你能帮我搞定不。。。如果能就联系下我吧,QQ:149305927 不胜感激~

    [回复]

  3. 2009年2月17日00:20 | #3

    不错,不错,多谢共享!!

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
*