Board logo

标题: [文本处理] Txt 提取链接到单独txt然后txt 每行前加文字另存txt [打印本页]

作者: 修修的想法    时间: 2018-7-24 21:19     标题: Txt 提取链接到单独txt然后txt 每行前加文字另存txt

Disc【A】SD-3672.rar: https://xiaoguotu.ctfile.com/fs/1366871-299707024
Disc【B】DG-0599.rar: https://xiaoguotu.ctfile.com/fs/1366871-299707027
Disc【C】DG-0600.rar: https://xiaoguotu.ctfile.com/fs/1366871-299707030
DJ BoBo - Best Of [WAV+CUE].rar: https://xiaoguotu.ctfile.com/fs/1366871-299707141
DTS-《中国十大国语老歌》2CD-CD2.rar: https://xiaoguotu.ctfile.com/fs/1366871-299707078
DTS-《中国十大国语老歌》2CD1 320K.rar: https://xiaoguotu.ctfile.com/fs/1366871-299707069
DTS-《中国十大国语老歌》2CD1.rar: https://xiaoguotu.ctfile.com/fs/1366871-299707075
DTS-《中国十大国语老歌》2CD2 320K.rar: https://xiaoguotu.ctfile.com/fs/1366871-299707072
DTS-《坐着奔驰逛草原》CD1 320K.rar: https://xiaoguotu.ctfile.com/fs/1366871-299707132
DTS-《坐着奔驰逛草原》CD1.rar: https://xiaoguotu.ctfile.com/fs/1366871-299707126


文本都是类似这样的文本,提取所有链接到一个文本命名链接 然后前端文件名部分自定义加文字命名文本文件名
因为链接需要处理  
处理完 还要把 存的 文件名txt和链接TXT 合并 保证文件名和链接 和之前的格式一样
  辛苦大佬们
作者: 修修的想法    时间: 2018-7-24 21:28

最终结果是想要这的  短连接是单独批量生成然后合并


  歌曲-Disc【A】SD-3672.rar.http://rrd.me/dgfQk
  歌曲-Disc【B】DG-0599.rar.http://rrd.me/dgfQm
  歌曲-Disc【C】DG-0600.rar.http://rrd.me/dgfQn
  歌曲-DJ BoBo - Best Of [WAV+CUE].http://rrd.me/dgfQp
  歌曲-DTS-《中国十大国语老歌》2CD-CD2.http://rrd.me/dgfQq
  歌曲-DTS-《中国十大国语老歌》2CD1 320K.http://rrd.me/dgfQr
  歌曲-DTS-《中国十大国语老歌》2CD1http://rrd.me/dgfQs
  歌曲-DTS-《中国十大国语老歌》2CD2 320K.http://rrd.me/dgfQt
  歌曲-DTS-《坐着奔驰逛草原》CD1 320K.http://rrd.me/dgfQu
  歌曲-DTS-《坐着奔驰逛草原》CD1.rar.http://rrd.me/dgfQv
作者: Batcher    时间: 2018-7-24 21:47

http://bbs.bathome.net/thread-48666-1-1.html#pid209819
上次写的这个代码搞懂了没?

你先试试自己完成这个一步,遇到具体问题再拿出来讨论:
提取所有链接到一个文本命名链接 然后前端文件名部分自定义加文字命名文本文件名

作者: 修修的想法    时间: 2018-7-24 22:03

回复 3# Batcher


    这个只理解一部分 好难  急需个 拜托了
作者: yhcfsr    时间: 2018-7-25 10:30

一楼说的既复杂且含糊,二楼的结果那些链接又怎么来的,和原文件毫无关联,别人想帮你也无从着手啊!!!!!
加论坛QQ群吧,方便沟通.看我签名加我QQ也行.
作者: WHY    时间: 2018-7-25 10:56

回复 5# yhcfsr


    就是短网址,http://rrd.me/ 提供有 api 转换接口,vbs 没有难度。
作者: 修修的想法    时间: 2018-7-25 12:38

分了几个部分完成了 各种百度知道...
作者: 修修的想法    时间: 2018-7-25 12:39

回复 5# yhcfsr
好的  分步骤完成了 在研究合成..
作者: 修修的想法    时间: 2018-7-25 12:39

回复 6# WHY
一看 就是高手
作者: 修修的想法    时间: 2018-7-25 12:43

回复 3# Batcher

研究半天 各种 百度..最终还是分步骤了..
作者: WHY    时间: 2018-7-25 13:14

本帖最后由 WHY 于 2018-7-27 21:45 编辑

2018-07-27 修改,增加 URL 转码(ANSI)
  1. Dim fso, txt, reg, str
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. txt = fso.OpenTextFile("1.txt", 1).ReadAll()
  4. Set reg = New RegExp
  5. reg.Global = True
  6. reg.IgnoreCase = True
  7. reg.MultiLine = True
  8. reg.Pattern = "^(.*):\s*(https?://[^" + vbCrLf + "]+)"
  9. For Each match In reg.Execute(txt)
  10.     url = EncodeURL(match.SubMatches(1))
  11.     str = str + "歌曲-" + match.SubMatches(0) + "." + GetShortURL(url) + vbCrLf
  12. Next
  13. Function EncodeURL(ByVal url)
  14.     Dim Lens, i, n, s
  15.     Lens = Len(url)
  16.     For i = 1 To Lens
  17.         s = Mid(url, i, 1)
  18.         n = Asc(s)
  19.         If (n >= 48 And n <= 57) Or (n >= 65 And n <= 90) Or (n >= 97 And n <= 122) Or n = 45 Or n = 46 Or n = 95 Then '[0-9A-Za-z\-._]
  20.             EncodeURL = EncodeURL + s
  21.         ElseIf n < 0 Then   '双字节
  22.             EncodeURL = EncodeURL + "%" + Left(Hex(n), 2) + "%" + Right(Hex(n), 2)
  23.         ElseIf n = 32 Then  '空格
  24.             EncodeURL = EncodeURL + "+"
  25.         Else
  26.             EncodeURL = EncodeURL + "%" + Right("0" + Hex(n), 2)
  27.         End If
  28.     Next
  29. End Function
  30. Function GetShortURL(ByRef url)
  31.     Dim xml
  32.     Set xml = CreateObject("microsoft.xmlhttp")
  33.     url = "http://api.rrd.me/api.php?url=" + url
  34.     xml.open "GET", url, False
  35.     xml.send()
  36.     GetShortURL = xml.responseText
  37. End Function
  38. WSH.Echo str
复制代码

作者: 修修的想法    时间: 2018-7-25 13:33

本帖最后由 修修的想法 于 2018-7-25 13:34 编辑

回复 11# WHY
谢谢 我试试
作者: Batcher    时间: 2018-7-25 13:47

回复 7# 修修的想法


    代码发出来,我可以协助合成。




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