|
lisyofun
初级用户
 
积分 87
发帖 61
注册 2008-9-18
状态 离线
|
『楼 主』:
关于提取电影点击率的批处理
我想通过批处理来删除一些点击率过低的电影,在每个电影夹的文件下都有一个info.xml文件储存了电影点击率,加入时间等数据。其格式如下:
<?xml version="1.0" encoding="gb2312" ?><movie><item name="name"> <![CDATA[功夫无敌]]> </item> <item name="type"><![CDATA[动作/喜剧]]> </item> <item name="actor"> <![CDATA[吴建豪 樊少皇 黄伊汶 林子聪 梁小龙 陈国坤]]> </item> <item name="where"> <![CDATA[中国香港]]> </item> <item name="language"> <![CDATA[国语]]> </item> <item name="long"> <![CDATA[104分钟]]> </item> <item name="intro"> <![CDATA[<br> 民国年间,孤身来到上海的阿力(吴建豪 饰)意外卷入了一场惊心动魄的赌局,没想到却引发一连串的江湖杀戮,在腥风血雨之中,谱写出一段凄婉动人的故事。本片由台湾顶级人气偶像吴建豪担纲主演,周星驰《功夫》原班人马倾力打造。吴建豪本人更是一改他以往斯文帅哥形象,特别进行连串武术特训,坚持亲自出演所有动作场面。<br>]]> </item> <item name="img">海报.jpg</item> <item name="click">208</item> <item name="tjtime"></item> <item name="addtime">2007-10-9 19:21:40</item> <item name="standid">200705041049151082081399</item> <item name="allowip"></item> <item name="allowuser"></item> <item name="nopaycansee"></item> </movie>
用下面的批处理能提取出点击率:
@echo off
for /f %%a in ('dir /b /s /a "*.xml"') do (
for /f "tokens=29 delims=click" %%b in (%%a) do (
for /f "tokens=2 delims=><" %%c in ("%%b") do (
echo %%c
)))
pause
但是并不是每个都能提取出来,因为每个都一个info.xml都不尽相同。
比如下面这个,用同样的tokens就不能提取出来。
<?xml version="1.0" encoding="gb2312" ?><movie><item name="name"> <![CDATA[终极任务p78]]> </item> <item name="type"><![CDATA[科幻/动作]]> </item> <item name="actor"> <![CDATA[窛沙·库岑科 弗拉季米尔·弗多维琴科夫]]> </item> <item name="where"> <![CDATA[俄罗斯]]> </item> <item name="language"> <![CDATA[俄语]]> </item> <item name="long"> <![CDATA[87分钟]]> </item> <item name="intro"> <![CDATA[有史以来俄罗斯投资最大,最令人目眩神迷的科幻惊悚动作片!俄罗斯电影最大投资的动作影片,高达1000万美元的投资。完美的视觉效果,错综复杂的计算机谜团,令人目眩的打斗场面,以及英国流行摇滚组合Sneak Pimps亲自操刀创作的音乐,都使这部影片当仁不让的成为俄罗斯2007年度最值得期待的年度大片!<p> 故事发生在不久的将来。因为实验的事故引发了一种病毒,致使接触到这病毒的人都变成了僵尸,于是,一批特种部队进入这个实验室寻找解决问题的方法…… <br> 问题在于,这群曾经并肩战斗过的队员们彼此之间仍然存有种种过往和芥蒂,使他们的相处合作总是问题种种。于是,摆在他们面前的不仅是来自外界的莫测的危险,还有来自他们自己的内部危机…]]> </item> <item name="img">海报.jpg</item> <item name="click">46</item> <item name="tjtime"></item> <item name="addtime">2007-10-9 19:21:44</item> <item name="standid">200706211202270971970288</item> <item name="allowip"></item> <item name="allowuser"></item> <item name="nopaycansee"></item> </movie>
所以我想有什么办法能准确的把点击率提取出来。
请大家帮下忙.
|
|
2009-3-11 08:59 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
2 楼』:
这么一大堆东西看着眼全花了
就没说点击率在哪
|

有问题请发论坛或者自行搜索,再短消息问我的统统是SB |
|
2009-3-11 16:26 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
3 楼』:
最好能传一个info.xml上来
|

有问题请发论坛或者自行搜索,再短消息问我的统统是SB |
|
2009-3-11 16:31 |
|
|
lisyofun
初级用户
 
积分 87
发帖 61
注册 2008-9-18
状态 离线
|
『第
4 楼』:
把下面这个另存为info.xml就行了
<?xml version="1.0" encoding="gb2312" ?><movie><item name="name"> <![CDATA[功夫无敌]]> </item> <item name="type"><![CDATA[动作/喜剧]]> </item> <item name="actor"> <![CDATA[吴建豪 樊少皇 黄伊汶 林子聪 梁小龙 陈国坤]]> </item> <item name="where"> <![CDATA[中国香港]]> </item> <item name="language"> <![CDATA[国语]]> </item> <item name="long"> <![CDATA[104分钟]]> </item> <item name="intro"> <![CDATA[<br> 民国年间,孤身来到上海的阿力(吴建豪 饰)意外卷入了一场惊心动魄的赌局,没想到却引发一连串的江湖杀戮,在腥风血雨之中,谱写出一段凄婉动人的故事。本片由台湾顶级人气偶像吴建豪担纲主演,周星驰《功夫》原班人马倾力打造。吴建豪本人更是一改他以往斯文帅哥形象,特别进行连串武术特训,坚持亲自出演所有动作场面。<br>]]> </item> <item name="img">海报.jpg</item> <item name="click">208</item> <item name="tjtime"></item> <item name="addtime">2007-10-9 19:21:40</item> <item name="standid">200705041049151082081399</item> <item name="allowip"></item> <item name="allowuser"></item> <item name="nopaycansee"></item> </movie>
还有这另外一个,两个并不能用同一个批处理提取出来.
<?xml version="1.0" encoding="gb2312" ?><movie><item name="name"> <![CDATA[终极任务p78]]> </item> <item name="type"><![CDATA[科幻/动作]]> </item> <item name="actor"> <![CDATA[窛沙·库岑科 弗拉季米尔·弗多维琴科夫]]> </item> <item name="where"> <![CDATA[俄罗斯]]> </item> <item name="language"> <![CDATA[俄语]]> </item> <item name="long"> <![CDATA[87分钟]]> </item> <item name="intro"> <![CDATA[有史以来俄罗斯投资最大,最令人目眩神迷的科幻惊悚动作片!俄罗斯电影最大投资的动作影片,高达1000万美元的投资。完美的视觉效果,错综复杂的计算机谜团,令人目眩的打斗场面,以及英国流行摇滚组合Sneak Pimps亲自操刀创作的音乐,都使这部影片当仁不让的成为俄罗斯2007年度最值得期待的年度大片!<p> 故事发生在不久的将来。因为实验的事故引发了一种病毒,致使接触到这病毒的人都变成了僵尸,于是,一批特种部队进入这个实验室寻找解决问题的方法…… <br> 问题在于,这群曾经并肩战斗过的队员们彼此之间仍然存有种种过往和芥蒂,使他们的相处合作总是问题种种。于是,摆在他们面前的不仅是来自外界的莫测的危险,还有来自他们自己的内部危机…]]> </item> <item name="img">海报.jpg</item> <item name="click">46</item> <item name="tjtime"></item> <item name="addtime">2007-10-9 19:21:44</item> <item name="standid">200706211202270971970288</item> <item name="allowip"></item> <item name="allowuser"></item> <item name="nopaycansee"></item> </movie>
点击率在 <item name="click"> 这一行后面
它后面的数字就是点击率
|
|
2009-3-11 18:53 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
5 楼』:
-_-叫你传还得懒得传呢
贴到论坛到再另存,格式和编码可能会和源文件不一样
用for 命令应该是完全可以解决这个问题的
我就懒得用了
我用fr工具来处理
@echo off
type info.xml>1.txt
fr -rnnlic:".*name=\"click\">([0-9]*)\</item\>.*" -t:"\1" 1.txt
set /p click=<1.txt
echo 点击数%click%
pause [ Last edited by yishanju on 2009-3-13 at 13:00 ]
|

有问题请发论坛或者自行搜索,再短消息问我的统统是SB |
|
2009-3-12 10:17 |
|
|
lisyofun
初级用户
 
积分 87
发帖 61
注册 2008-9-18
状态 离线
|
|
2009-3-13 12:39 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
|
2009-3-13 12:52 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
8 楼』:
专门处理XML 的命令行工具叫xmlstarlet
sed AWK之类的都可以,只不过比较难学
|
|
2009-3-13 12:59 |
|
|
netbenton
银牌会员
     批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
|
2009-3-13 20:49 |
|
|
lisyofun
初级用户
 
积分 87
发帖 61
注册 2008-9-18
状态 离线
|
『第
10 楼』:
netbenton的不知道为什么运行不了,闪一下就没了。
yishanju谢谢你了,两次都是你帮我.
|
|
2009-3-14 11:10 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
|
2009-3-14 11:48 |
|
|
netbenton
银牌会员
     批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
『第
12 楼』:
有等号纯批处理不了。还是用3方吧
|

精简
[你的+我的+他的]=>[大家的] 个人 网志  |
|
2009-3-14 15:49 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
13 楼』:
我看到所有XML 文件都是有十七个等号
FOR 里用=分割不行吗
|
|
2009-3-14 16:16 |
|
|
netbenton
银牌会员
     批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
『第
14 楼』:
哦!我没有那么细心。
不过每个文件只有一行,超过8k的还是处理不了
|

精简
[你的+我的+他的]=>[大家的] 个人 网志  |
|
2009-3-14 23:31 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
15 楼』:
我试过用=分割,是有些得不到点击数
看样子还是第三方工具好用
|
|
2009-3-15 01:15 |
|