标题: [问题求助] [已解决]VBS如何批量从网页文件中提取出网址内容? [打印本页]
作者: xp3000 时间: 2014-3-5 16:47 标题: [已解决]VBS如何批量从网页文件中提取出网址内容?
本地文件夹有大量的htm、html和mht文件,
里面有网址链接如:
http://www.xxxx/....../xxxx.com
http://www.xxxx/....../xxxx.cn
http://www.xxxx/....../xxxx.html
如何在文件夹内建个vbs从这些网页文件中把链接提取出来,
保存在一个TXT里面,对它们按提取页面顺序排列进行分类并去掉重复。
页面和页面之间可以空行分开。
提取部分:
1.
http://到.com之间的内容
2.
http://到.cn之间的内容
3.
http://到.html之间的内容
比如有个文件有记事本打开,其他的也有部分带这样的链接:
href="http://www.baidu.com"
target=_blank>http://www.baidu.com</A><BR><A
href="http://189.cn"
target=_blank>http://189.cn</A><BR><A
href="http://bbs.xunlei.com/forum-154-1.html"
href="http://bbs.xunlei.com/forum-154-10.html"
href="http://bbs.xunlei.com/forum-154-11.html"
href="http://bbs.xunlei.com/forum-154-12.html"
href="http://bbs.xunlei.com/forum-154-2.html"
href="http://bbs.xunlei.com/forum-154-3.html"
href="http://bbs.xunlei.com/forum-154-4.html"
href="http://bbs.xunlei.com/forum-154-5.html"
href="http://bbs.xunlei.com/forum-154-6.html"
href="http://bbs.xunlei.com/forum-154-7.html"
href="http://bbs.xunlei.com/forum-154-8.html"
href="http://bbs.xunlei.com/forum-154-9.html"
最后把它们弄成下面这样,弄到一个文本里面:
http://www.baidu.com
http://189.cn
http://bbs.xunlei.com/forum-154-1.html
http://bbs.xunlei.com/forum-154-2.html
http://bbs.xunlei.com/forum-154-3.html
http://bbs.xunlei.com/forum-154-4.html
http://bbs.xunlei.com/forum-154-5.html
http://bbs.xunlei.com/forum-154-6.html
http://bbs.xunlei.com/forum-154-7.html
http://bbs.xunlei.com/forum-154-8.html
http://bbs.xunlei.com/forum-154-9.html
http://bbs.xunlei.com/forum-154-10.html
http://bbs.xunlei.com/forum-154-11.html
http://bbs.xunlei.com/forum-154-12.html
作者: DAIC 时间: 2014-3-5 17:22
选择一个htm文件,压缩,上传,以便大家测试代码。
作者: apang 时间: 2014-3-7 11:34
- Set fso = CreateObject("Scripting.FileSystemObject")
- For Each f in fso.GetFolder(".").Files
- ext = LCase(fso.GetExtensionName(f))
- If ext = "htm" or ext = "html" or ext = "mht" Then
- txt = fso.OpenTextFile(f).ReadAll
- fso.OpenTextFile(f & ".txt", 2, true).Write GetUrl(txt)
- End If
- Next
- MsgBox "OK"
-
- Function GetUrl(str)
- Set re = New RegExp
- re.Pattern = "http://[\w\.\-/]+\.(com|cn|html)"
- re.Global = True
- re.IgnoreCase = True
- For Each m in re.Execute(str)
- If InStr(s, m & vbCrLf) = 0 Then s = s & m & vbCrLf
- Next
- GetUrl = s
- End Function
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |