A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 1075|回复: 9

[原创][更新]连载动漫统计表~加入全自动更新功能~但是只支持动画标准文件名(BT上下

[复制链接]

审判者

究竟怎样的人生才能让人喜欢上命运这个词

精华
5
帖子
11208
威望
10 点
积分
12714 点
种子
8 点
注册时间
2005-2-14
最后登录
2024-11-22
 楼主| 发表于 2006-5-19 23:08  ·  湖北 | 显示全部楼层 |阅读模式
最近在追的动画N多……
所以经常会忘了下新的或者干脆下了忘记看……
于是作了个统计表……
(其实主要是想试试新学的XML……)


以下是源码~只要复制到记事本里~保存为相应的文件名(后缀名也要一样)~然后放在一个目录下就可以了~
这次~运行就运行refresh.vbs那个文件就可以了~


一下是news.xml文件~(就相当于数据库~把动画的相关信息放这里~)
  1. <?xml version="1.0" encoding="gb2312"?>
  2. <?xml-stylesheet type="text/xsl" href="carton.xsl"?>
  3. <carton_list>
  4.      <info>
  5.           <name>xxxHolic</name>
  6.           <downs>0</downs>
  7.           <watchs>0</watchs>
  8.           <ref_day>0</ref_day>
  9.           <weekday>6</weekday>
  10.           <keywords>
  11.               <key>xxx</key>
  12.               <key>holic</key>
  13.           </keywords>
  14.      </info>
  15.      <info>
  16.           <name>寒蝉鸣泣之时</name>
  17.           <downs>0</downs>
  18.           <watchs>0</watchs>
  19.           <ref_day>0</ref_day>
  20.           <weekday>4</weekday>
  21.           <keywords>
  22.               <key>higu</key>
  23.               <key>蝉</key>
  24.           </keywords>
  25.      </info>
  26.      <info>
  27.           <name>高中女生</name>
  28.           <downs>0</downs>
  29.           <watchs>0</watchs>
  30.           <ref_day>0</ref_day>
  31.           <weekday>3</weekday>
  32.           <keywords>
  33.               <key>high</key>
  34.           </keywords>
  35.      </info>
  36.      <info>
  37.           <name>银魂</name>
  38.           <downs>0</downs>
  39.           <watchs>0</watchs>
  40.           <ref_day>0</ref_day>
  41.           <weekday>4</weekday>
  42.           <keywords>
  43.               <key>gintama</key>
  44.           </keywords>
  45.      </info>
  46.      <info>
  47.           <name>魔界战记</name>
  48.           <downs>0</downs>
  49.           <watchs>0</watchs>
  50.           <ref_day>0</ref_day>
  51.           <weekday>5</weekday>
  52.           <keywords>
  53.               <key>maka</key>
  54.           </keywords>
  55.      </info>
  56.      <info>
  57.           <name>凉宫春日</name>
  58.           <downs>0</downs>
  59.           <watchs>0</watchs>
  60.           <ref_day>0</ref_day>
  61.           <weekday>1</weekday>
  62.           <keywords>
  63.               <key>haru</key>
  64.           </keywords>
  65.      </info>
  66.      <info>
  67.           <name>犬神</name>
  68.           <downs>0</downs>
  69.           <watchs>0</watchs>
  70.           <ref_day>0</ref_day>
  71.           <weekday>6</weekday>
  72.           <keywords>
  73.               <key>inu</key>
  74.           </keywords>
  75.      </info>
  76.      <info>
  77.           <name>炼金少女</name>
  78.           <downs>0</downs>
  79.           <watchs>0</watchs>
  80.           <ref_day>0</ref_day>
  81.           <weekday>6</weekday>
  82.           <keywords>
  83.               <key>renk</key>
  84.           </keywords>
  85.      </info>
  86.      <info>
  87.           <name>向日葵</name>
  88.           <downs>0</downs>
  89.           <watchs>0</watchs>
  90.           <ref_day>0</ref_day>
  91.           <weekday>2</weekday>
  92.           <keywords>
  93.               <key>向日葵</key>
  94.           </keywords>
  95.      </info>
  96.      <info>
  97.           <name>Fate/stay night</name>
  98.           <downs>0</downs>
  99.           <watchs>0</watchs>
  100.           <ref_day>0</ref_day>
  101.           <weekday>7</weekday>
  102.           <keywords>
  103.               <key>fate</key>
  104.           </keywords>
  105.      </info>
  106. </carton_list>
复制代码
(格式说明~
      <info>
       <name>动漫名称</name>
       <downs>已经下载的集数</downs>
       <watchs>已经看完的集数</watchs>
       <ref_day>最后一次更新日期</ref_day>
       <weekday>发表的星期数(周日是1~其他顺着~……)</weekday>
       <keywords>
     <key>文件名的关键字1</key>
     <key>文件名的关键字2</key>
           <key>文件名的关键字3</key>
           ……(至少有1个关键字(词)就可以了)……
       </keywords>
      </info>
~~星期数有点怪……不要弄错……)



一下是carton.xsl文件~这个文件名不能改的……
(我晕……命名空间居然被论坛自动加了url标记……复制粘贴的时候得去掉啊……
命名空间这玩意直接关系到解析过程啊……)
  1. <?xml version="1.0" encoding="gb2312"?>
  2. <xsl:stylesheet xmlns="[url]http://www.w3.org/TR/xhtml1/strict[/url]" xmlns:xsl="[url]http://www.w3.org/1999/XSL/Transform[/url]" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:m="urn:my-scripts" version="1.0">
  3. <msxsl:script language="vbscript" implements-prefix="m">
  4. <![CDATA[
  5. function mnow()
  6. mnow=cstr(now())
  7. end function
  8. function cmpdate(date1,date2)
  9. cmpdate=datediff("d",date1,date2)
  10. end function
  11. function pubdate(date,weekd)
  12. num=weekd-weekday(date)
  13. if num<=0 then num=num+7
  14. pubdate=cstr(dateadd("d",num,date))
  15. end function
  16. function wdname(wd)
  17. wdname=weekdayname(wd)
  18. end function
  19. ]]>
  20. </msxsl:script>
  21. <xsl:template match="carton_list">
  22. <center>
  23. <p>共追看<xsl:value-of select="count(info)"/>部动画</p>
  24. <table border="1">
  25. <thead>
  26. <th>名字</th>
  27. <th>已看</th>
  28. <th>已下</th>
  29. <th>更新日期</th>
  30. <th>发布日期</th>
  31. <th>还须等待</th>
  32. </thead>
  33. <tr><td colspan=&#39;6&#39;><center>可下载的动画(已看完)
  34. </center></td></tr>
  35. <xsl:for-each select="info">
  36. <xsl:variable name="pubday" select="m:pubdate(string(ref_day),number(weekday))"/>
  37. <xsl:if test="m:cmpdate($pubday,m:mnow())>=0">
  38. <xsl:if test="downs=watchs">
  39. <tr>
  40. <td><xsl:value-of select="name"/></td>
  41. <td><xsl:value-of select="watchs"/></td>
  42. <td><xsl:value-of select="downs"/></td>
  43. <td><xsl:value-of select="ref_day"/></td>
  44. <td><xsl:value-of select="$pubday"/>(<xsl:value-of select="m:wdname(string(weekday))"/>)</td>
  45. <td><center>\</center></td>
  46. </tr>
  47. </xsl:if>
  48. </xsl:if>
  49. </xsl:for-each>
  50. <tr><td colspan=&#39;6&#39;><center>可下载的动画(未看完)
  51. </center></td></tr>
  52. <xsl:for-each select="info">
  53. <xsl:variable name="pubday" select="m:pubdate(string(ref_day),number(weekday))"/>
  54. <xsl:if test="m:cmpdate($pubday,m:mnow())>=0">
  55. <xsl:if test="downs>watchs">
  56. <tr>
  57. <td><xsl:value-of select="name"/></td>
  58. <td><xsl:value-of select="watchs"/></td>
  59. <td><xsl:value-of select="downs"/></td>
  60. <td><xsl:value-of select="ref_day"/></td>
  61. <td><xsl:value-of select="$pubday"/>(<xsl:value-of select="m:wdname(string(weekday))"/>)</td>
  62. <td><center>\</center></td>
  63. </tr>
  64. </xsl:if>
  65. </xsl:if>
  66. </xsl:for-each>
  67. <tr><td colspan=&#39;6&#39;><center>未更新的动画(已看完)
  68. </center></td></tr>
  69. <xsl:for-each select="info">
  70. <xsl:variable name="pubday" select="m:pubdate(string(ref_day),number(weekday))"/>
  71. <xsl:if test="m:cmpdate($pubday,m:mnow())<0">
  72. <xsl:if test="downs=watchs">
  73. <tr>
  74. <td><xsl:value-of select="name"/></td>
  75. <td><xsl:value-of select="watchs"/></td>
  76. <td><xsl:value-of select="downs"/></td>
  77. <td><xsl:value-of select="ref_day"/></td>
  78. <td><xsl:value-of select="$pubday"/>(<xsl:value-of select="m:wdname(string(weekday))"/>)</td>
  79. <td><center><xsl:value-of select="m:cmpdate(m:mnow(),$pubday)"/>天</center></td>
  80. </tr>
  81. </xsl:if>
  82. </xsl:if>
  83. </xsl:for-each>
  84. <tr><td colspan=&#39;6&#39;><center>未更新的动画(未看完)
  85. </center></td></tr>
  86. <xsl:for-each select="info">
  87. <xsl:variable name="pubday" select="m:pubdate(string(ref_day),number(weekday))"/>
  88. <xsl:if test="m:cmpdate($pubday,m:mnow())<0">
  89. <xsl:if test="downs>watchs">
  90. <tr>
  91. <td><xsl:value-of select="name"/></td>
  92. <td><xsl:value-of select="watchs"/></td>
  93. <td><xsl:value-of select="downs"/></td>
  94. <td><xsl:value-of select="ref_day"/></td>
  95. <td><xsl:value-of select="$pubday"/>(<xsl:value-of select="m:wdname(string(weekday))"/>)</td>
  96. <td><center><xsl:value-of select="m:cmpdate(m:mnow(),$pubday)"/>天</center></td>
  97. </tr>
  98. </xsl:if>
  99. </xsl:if>
  100. </xsl:for-each>
  101. </table>
  102. </center>
  103. </xsl:template>
  104. </xsl:stylesheet>
复制代码

一下是~新加入的refresh.vbs~
  1. set fs=createobject("scripting.filesystemobject")
  2. set dom=CreateObject("microsoft.xmldom")
  3. set troot=fs.getfolder("D:\bitcomet\downloads")
  4. dom.load "news.xml"
  5. set infos=dom.documentElement.SelectNodes("info")
  6. for each info in infos
  7. refdate=info.selectsinglenode("ref_day").text
  8. set keywords=info.selectsinglenode("keywords").SelectNodes("key")
  9. findnew troot,keywords,mname,mdate
  10. if mdate<>0 then
  11. mdate=datevalue(mdate)
  12. if datediff("d",refdate,mdate)>0 then
  13. info.selectsinglenode("ref_day").text=mdate
  14. info.selectsinglenode("downs").text=getnum(mname)
  15. if getnum(mname)=0 then
  16. msgtext=msgtext & "(解析不能)"
  17. end if
  18. msgtext=msgtext & info.selectsinglenode("name").text &":"& getnum(mname) &":"& mdate &chr(13)&chr(10)
  19. end if
  20. end if
  21. next
  22. dom.save "news.xml"
  23. if msgtext="" then
  24. msgtext="无更新"
  25. end if
  26. if msgbox(msgtext,4,"更新")=6 then
  27. set ies=createobject("internetexplorer.application")
  28. ies.visible=true
  29. paths=fs.getfile("news.xml").path
  30. ies.navigate paths
  31. end if
  32. function findnew(root,kws,namen,daten)
  33. namen=""
  34. daten=0
  35. for each kwo in kws
  36. kw=cstr(kwo.text)
  37. set fls=root.files
  38. set fds=root.subfolders
  39. newestf fls,kw,namel,datel
  40. newestf fds,kw,named,dated
  41. if datediff("d",daten,datel)>0 then
  42. namen=namel
  43. daten=datel
  44. end if
  45. if datediff("d",daten,dated)>0 then
  46. namen=named
  47. daten=dated
  48. end if
  49. next
  50. end function
  51. function newest(fs,kw)
  52. for each f in fs
  53. if instr(1,lcase(f.name),kw) then
  54. if datediff("d",f.datelastmodified,newt)<0 then
  55. newt=f.datelastmodified
  56. newest=f.name
  57. end if
  58. end if
  59. next
  60. end function
  61. function newestf(fs,kw,name,date)
  62. name=newest(fs,kw)
  63. if name<>"" then
  64. date=fs.item(cstr(name)).datelastmodified
  65. else
  66. date=0
  67. end if
  68. end function
  69. function getnum(fn)
  70. for i=1 to len(fn)
  71. if mid(fn,i,1)="[" then
  72. if mid(fn,i+3,1)="]" then
  73. num=mid(fn,i+1,2)
  74. if isnumeric(num) then
  75. getnum=cint(num)
  76. exit for
  77. end if
  78. end if
  79. end if
  80. next
  81. if getnum="" then
  82. getnum=0
  83. end if
  84. end function
复制代码

注意了~
这个文件的第三行有一个地址~
那个地址就是动画的保存目录了~
自动更新都会在那个目录下寻找~
所以可以根据自己的情况修改那个地址~

另外~这个更新程序因为完全是针对自己的情况(完全用BT下~下载的文件名都很规范~)做的~
所以完全没设计对错误的处理……所以可能会很多BUG……
不过只要文件夹中都是文件名规范的动画~问题就不大~……



最后还有一点……
这个更新程序不能更新已看的集数……所以那个还要自己更新……
还有就是要添加或者删除动画项目的话~就可以按我第一个文件底下附的介绍格式来~.

征服者

看着屏幕打飞机

精华
14
帖子
5078
威望
12 点
积分
6994 点
种子
14 点
注册时间
2005-4-21
最后登录
2024-5-27
发表于 2006-5-19 23:18  ·  广西 | 显示全部楼层
恩,支持一下。期待成品的推出……

审判者

究竟怎样的人生才能让人喜欢上命运这个词

精华
5
帖子
11208
威望
10 点
积分
12714 点
种子
8 点
注册时间
2005-2-14
最后登录
2024-11-22
 楼主| 发表于 2006-5-19 23:26  ·  湖北 | 显示全部楼层
下面是引用w9d8h3于2006-05-19 23:18发表的:
恩,支持一下。期待成品的推出……
不想做了……
至今没想到怎么绕过上网助手的安全检测……

先前想的绕过IE的安全级的方法是通过外部的脚本程序~直接运行而不是内联到文档内……
但是上网助手绝到干脆把调用外部程序的途径都屏蔽了……

也就是说~想以HTML或XML做界面还能修改文档~
至今我是什么办法都没想出来的……

但是如果专门写个应用程序~
……就没意思了嘛……
本来写这个程序也只是想试试XML而已……

征服者

看着屏幕打飞机

精华
14
帖子
5078
威望
12 点
积分
6994 点
种子
14 点
注册时间
2005-4-21
最后登录
2024-5-27
发表于 2006-5-19 23:41  ·  广西 | 显示全部楼层
下面是引用tring于2006-05-19 23:26发表的:

不想做了……
至今没想到怎么绕过上网助手的安全检测……

先前想的绕过IE的安全级的方法是通过外部的脚本程序~直接运行而不是内联到文档内……
.......



这……还真是遗憾啊……

精华
10
帖子
150943
威望
13 点
积分
168894 点
种子
42 点
注册时间
2004-12-17
最后登录
2024-11-23
发表于 2006-5-20 02:47  ·  北京 | 显示全部楼层
支持tring 先!!!那些代码是JAVA吗???貌似是在数据库中用的啊!!!
oce

求败者

07年

精华
5
帖子
27433
威望
7 点
积分
28202 点
种子
14 点
注册时间
2004-12-31
最后登录
2024-7-28
发表于 2006-5-20 08:54  ·  广东 | 显示全部楼层
从来不用上网助手,一搜等软件............................
感觉一点用处也没有.

审判者

究竟怎样的人生才能让人喜欢上命运这个词

精华
5
帖子
11208
威望
10 点
积分
12714 点
种子
8 点
注册时间
2005-2-14
最后登录
2024-11-22
 楼主| 发表于 2006-5-20 12:25  ·  湖北 | 显示全部楼层
下面是引用柯莉特于2006-05-20 02:47发表的:
支持tring 先!!!那些代码是JAVA吗???貌似是在数据库中用的啊!!!
不是JAVA……
就是XML……
也没有用数据库(完全不会的那东西……)
只是一个XML文档就相当于数据库而已……

直接复制到记事本里面保存的时候按照我写的名字保存就可以用了~

里面有脚本~不过用的VBSCRIPT~不是JAVASCRIPT……
(其实是因为不会JAVA……)

审判者

HERE WE GO!

精华
8
帖子
17413
威望
10 点
积分
18844 点
种子
20 点
注册时间
2005-2-14
最后登录
2024-1-25
发表于 2006-5-20 17:22  ·  黑龙江 | 显示全部楼层
楼主写的什么我根本看不懂的说~~~

审判者

究竟怎样的人生才能让人喜欢上命运这个词

精华
5
帖子
11208
威望
10 点
积分
12714 点
种子
8 点
注册时间
2005-2-14
最后登录
2024-11-22
 楼主| 发表于 2006-5-21 02:25  ·  湖北 | 显示全部楼层
最后还是想不过……
把更新程序给做了……

审判者

究竟怎样的人生才能让人喜欢上命运这个词

精华
5
帖子
11208
威望
10 点
积分
12714 点
种子
8 点
注册时间
2005-2-14
最后登录
2024-11-22
 楼主| 发表于 2006-5-21 13:11  ·  湖北 | 显示全部楼层
修正了几个BUG……
顺便把XML的数据清零了……(以前上面是我的追看记录……)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-11-25 21:45 , Processed in 0.198535 second(s), 14 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部