Board logo

标题: [问题求助] [已解决]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

  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. For Each f in fso.GetFolder(".").Files
  3.     ext = LCase(fso.GetExtensionName(f))
  4.     If ext = "htm" or ext = "html" or ext = "mht" Then
  5.         txt = fso.OpenTextFile(f).ReadAll
  6.         fso.OpenTextFile(f & ".txt", 2, true).Write GetUrl(txt)
  7.     End If
  8. Next
  9. MsgBox "OK"
  10. Function GetUrl(str)
  11.     Set re = New RegExp
  12.     re.Pattern = "http://[\w\.\-/]+\.(com|cn|html)"
  13.     re.Global = True
  14.     re.IgnoreCase = True
  15.     For Each m in re.Execute(str)
  16.         If InStr(s, m & vbCrLf) = 0 Then s = s & m & vbCrLf
  17.     Next
  18.     GetUrl = s
  19. End Function
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2