标题: [文本处理] [已解决]批处理怎样提起网页源码中的图片链接? [打印本页]
作者: 游泳的鱼 时间: 2013-2-28 11:14 标题: [已解决]批处理怎样提起网页源码中的图片链接?
这些图片,直接通过下载工具无法批量下载,不知道批处理能不能解决这个问题。
源码如下(只贴出部分):- <script type="text/javascript" language="javascript">
- var pictureConfig = {
- album: {'DB0FF071-28B6-460B-A131-3CB66442FDF1':{max:'http://images4.c-ctrip.com/target/hotel/127000/126098/DB0FF071-28B6-460B-A131-3CB66442FDF1_550_412.jpg',min:'http://images4.c-ctrip.com/target/hotel/127000/126098/DB0FF071-28B6-460B-A131-3CB66442FDF1_100_75.jpg',title:'大堂',info:'<a href="http://hotels.ctrip.com/pic-pidDB0FF071-28B6-460B-A131-3CB66442FDF1/126098.html" name="needTraceCode">丁香花主题酒店(成都沸城店)大堂</a>'},'66DB3539-43A5-49AC-92E6-626889C67BBF':{max:'http://images4.c-ctrip.com/target/hotel/127000/126098/66DB3539-43A5-49AC-92E6-626889C67BBF_550_412.jpg',min:'http://images4.c-ctrip.com/target/hotel/127000/126098/66DB3539-43A5-49AC-92E6-626889C67BBF_100_75.jpg',title:'商务标间',info:'<a href="http://hotels.ctrip.com/pic-pid66DB3539-43A5-49AC-92E6-626889C67BBF/126098.html" name="needTraceCode">商务标间</a>'},'D0D7388D-F83D-4565-9095-9BCFBEF99D6D':{max:'http://images4.c-ctrip.com/target/hotel/127000/126098/D0D7388D-F83D-4565-9095-9BCFBEF99D6D_550_412.jpg',min:'http://images4.c-ctrip.com/target/hotel/127000/126098/D0D7388D-F83D-4565-9095-9BCFBEF99D6D_100_75.jpg',title:'商务标间',info:'<a href="http://hotels.ctrip.com/pic-pidD0D7388D-F83D-4565-9095-9BCFBEF99D6D/126098.html" name="needTraceCode">商务标间</a>'},'E332F82C-A344-48F1-BCFA-61DCAF150CF9':{max:'http://images4.c-ctrip.com/target/hotel/127000/126098/E332F82C-A344-48F1-BCFA-61DCAF150CF9_550_412.jpg',min:'http://images4.c-ctrip.com/target/hotel/127000/126098/E332F82C-A344-48F1-BCFA-61DCAF150CF9_100_75.jpg',title:'商务标间',info:'<a href="http://hotels.ctrip.com/pic-pidE332F82C-A344-48F1-BCFA-61DCAF150CF9/126098.html" name="needTraceCode">商务标间</a>'},'5D19CF31-6DAF-452C-AA32-D8759AA9582D':{max:'http://images4.c-ctrip.com/target/hotel/127000/126098/5D19CF31-6DAF-452C-AA32-D8759AA9582D_550_412.jpg',min:'http://images4.c-ctrip.com/target/hotel/127000/126098/5D19CF31-6DAF-452C-AA32-D8759AA9582D_100_75.jpg',title:'商务标间',info:'<a href="http://hotels.ctrip.com/pic-pid5D19CF31-6DAF-452C-AA32-D8759AA9582D/126098.html" name="needTraceCode">商务标间</a>'},'2C860CEB-B5F1-4C7F-AFE7-AC6939A29FAC':{max:'http://images4.c-ctrip.com/target/hotel/127000/126098/2C860CEB-B5F1-4C7F-AFE7-AC6939A29FAC_550_412.jpg',min:'http://images4.c-ctrip.com/target/hotel/127000/126098/2C860CEB-B5F1-4C7F-AFE7-AC6939A29FAC_100_75.jpg',title:'商务标间',info:'<a href="http://hotels.ctrip.com/pic-pid2C860CEB-B5F1-4C7F-AFE7-AC6939A29FAC/126098.html" name="needTraceCode">商务标间</a>'},'3B4C052C-8B1D-45F6-ACFD-5328C4B02120':{max:'http://images4.c-ctrip.com/target/hotel/127000/126098/3B4C052C-8B1D-45F6-ACFD-5328C4B02120_550_412.jpg',min:'http://images4.c-ctrip.com/target/hotel/127000/126098/3B4C052C-8B1D-45F6-ACFD-5328C4B02120_100_75.jpg',title:'商务标间',info:'<a href="http://hotels.ctrip.com/pic-pid3B4C052C-8B1D-45F6-ACFD-5328C4B02120/126098.html" name="needTraceCode">商务标间</a>'},'58081BAD-DA8B-4232-A60A-74ABDA9C1AA3':{max:'http://images4.c-ctrip.com/target/hotel/127000/126098/58081BAD-DA8B-4232-A60A-74ABDA9C1AA3_550_412.jpg',min:'http://images4.c-ctrip.com/target/hotel/127000/126098/58081BAD-DA8B-4232-A60A-74ABDA9C1AA3_100_75.jpg',title:'商务标间',info:'<a href="http://hotels.ctrip.com/pic-pid58081BAD-DA8B-4232-A60A-74ABDA9C1AA3/126098.html" name="needTraceCode">商务标间</a>'}},
- isOpen: false,
- guid: "",
- ifm360src:"about:blank"
- }
- </script>
复制代码
需要提取的是max:后面的图片链接,烦请高手指教,谢谢。
作者: CrLf 时间: 2013-2-28 15:44
- @echo off
- (for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- setlocal enabledelayedexpansion
- for %%b in (!str:{^=,!) do (
- for /f "tokens=1,2 delims='" %%c in ("%%b") do (
- if %%c==max: echo %%d
- )
- )
- ))>b.txt
- pause
复制代码
作者: 游泳的鱼 时间: 2013-2-28 15:44
回复 2# CrLf
谢谢,马上试一下~
作者: 游泳的鱼 时间: 2013-2-28 15:47
谢谢了,测试成功了,非常感谢,~~~
作者: 游泳的鱼 时间: 2013-2-28 17:15
回复 2# CrLf
您好,刚才测试成功了,现在又不行了,刚才测试的时候批处理运行完后会有一行是请按任意键继续,但是现在没有了,而且连接也提取不出来了~。请问是怎么回事呢?
作者: sxw 时间: 2013-2-28 18:40
用geturls工具啊
作者: apang 时间: 2013-2-28 18:59
回复 5# 游泳的鱼
CrLf版主漏写一句:endlocal
你在5、6行之间插入这一句应该就可以了
作者: 游泳的鱼 时间: 2013-2-28 19:55
回复 7# apang
变成这个样子对吗:- @echo off
- (for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- setlocal enabledelayedexpansion
- for %%b in (!str:{^=,!) do (
- endlocal
- for /f "tokens=1,2 delims='" %%c in ("%%b") do (
- if %%c==max: echo %%d
- )
- )
- ))>b.txt
- pause
复制代码
运行就只显示了一个请按任意键继续,按了后就关闭窗口了,B.TXT文件还是创建了,但是没有网址的
作者: apang 时间: 2013-2-28 21:25
回复 8# 游泳的鱼
看看源文件编码格式
作者: group 时间: 2013-3-1 00:19
大概是行太长了吧,借2楼代码改一下- @echo off
- (for /f "delims=" %%a in (a.txt) do (
- for %%b in (%%a) do (
- set "str=^%%b$max:"
- setlocal enabledelayedexpansion
- for /f "delims='" %%c in ("!str:*max:=!") do echo %%c
- endlocal
- )
- ))>b.txt
- pause
复制代码
作者: 游泳的鱼 时间: 2013-3-1 10:51
回复 9# apang
charset=gb2312"
作者: 游泳的鱼 时间: 2013-3-1 11:07
回复 10# group
这下可以了,另外能不能加一个运行完了的提示呢?按照你的这个代码,不知道什么时候运行完,只能凭感觉完了后关闭窗口~
作者: 游泳的鱼 时间: 2013-3-1 11:59
每次运行都是刚开始几次可以提取,现在又不可以了,只创建了一个空白的B.tXT文件
作者: apang 时间: 2013-3-1 13:09
- Set FSO = CreateObject("Scripting.FileSystemObject")
- Text = FSO.OpenTextFile("a.txt",1).ReadAll
- With New RegExp
- .Pattern = "max:'(.*?)'"
- .Global = True
- .IgnoreCase = True
- For Each Match in .Execute(Text)
- Str = Str & Match.SubMatches(0) & vbCrLf
- Next
- End With
- FSO.CreateTextFile("b.txt",True).Write Str
- MsgBox "OK"
复制代码
试试vbs
作者: 游泳的鱼 时间: 2013-3-1 14:10
回复 14# apang
谢谢您了,VBS的话我现在测试还可以,就不知道会不会出现以前的那个问题,刚开始几次可以,后来就不行了,继续测试中~再次感谢~~
作者: CrLf 时间: 2013-3-1 14:38
回复 15# 游泳的鱼
可以把“行”和“不行”的样本各取一两个作为附件发上来
作者: 游泳的鱼 时间: 2013-3-1 15:56
回复 16# CrLf
超过限制了无法发送,我使用了两种方案,第一种是您在第二楼回复的,第二种是在14楼的兄弟弄的VBS方案。测试过程全部如下
1、新建两个文件夹,将bat和vbs文件分别放在两个文件夹中国;
2、将源码保存到记事本a.txt,然后分别运行bat和vbs文件,两个都能成功获取图片地址,生成了b.txt文件;
3、将两个文件夹中a.txt和b.txt文件删除,另外保存一个网页的源码,将新的源码分别保存到两个文件夹中;
4、分别运行bat和vbs文件,vbs能正确得到图片地址,而bat文件显示了按任意键继续后关闭bat窗口后只能得到b.txt文件,但是没有图片网址的。
上面这个流程测试了数次,都是这样,我个人认为应该不是代码问题,但是不晓得是哪个方面的问题了。
作者: BAT-VBS 时间: 2013-3-1 23:15
回复 17# 游泳的鱼
可以把大附件上传到网盘
作者: 游泳的鱼 时间: 2013-3-4 11:01
回复 16# CrLf
刚测试了一下,将“行”和“不行”的样本传了上来~~
http://pan.baidu.com/share/link?shareid=381064&uk=4112408364
作者: CrLf 时间: 2013-3-4 15:45
回复 19# 游泳的鱼
单行太长,纯批无法处理,要么调用第三方,要么用vbs
作者: 游泳的鱼 时间: 2013-3-11 09:13
回复 20# CrLf
谢谢老大,忘记回复了,谢谢了~~
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |