/*
功能:
定期将博客中新增的文章,保存到 [博客集合] 书籍中。

注意:
对于Windows Vista/7系统,如果您开启了账户控制,第一次运行本脚本的时候,请这样操作:
1:资源管理器,找到CyberArticle安装目录,例如:C:\Program Files\WizBrother\CyberArticle
2:找到regfiles.bat文件,然后在上面点击鼠标右键,选择“以管理员运行”(Run as Administrator)

其他操作系统,不需要这个操作。

使用说明:
请修改以下参数:
BOOK_NAME:默认的书籍名称。您可以修改这个参数,将数据保存到您指定的书籍中。也可以不作修改,CyberArticle会自动创建这个书籍。
BLOG_NAME:博客名称,例如善用佳软,魏拾俊的博客等等。
RSS_URL:博客的RSS地址。

注意:

每个博客,只保存一次,即使有新的回复,也不会重新保存。新保存的文章,保存在 博客集合\博客名称\XXXX年\X月\X日 文件夹内

使用:
双击运行这个脚本就可以了。运行后会自动将新的文章保存到书籍中。

技巧:

您可以将这个脚本放在程序的启动组里面,每次启动电脑后,可以自动运行。
或者添加到计划任务中,在每天空闲的时刻,例如中午吃饭时间运行。吃完饭后,就可以看到最新的文章了。
如果您同时喜欢看很多的博客,您可以利用这个脚本,制作多个这样的脚本,然后加入计划任务,自动运行,每天都可以自动将所有的博客自动保存。
//
http://weishijun.com/
*/

//
//—————————————————-
//博客定时保存脚本参数
//注意:引号必须是英文半角
//书籍名称
var BOOK_NAME = “博客集合”;
//Blog名称
var BLOG_NAME = “善用佳软”;
//Blog的RSS地址
var RSS_URL = “http://feed.xbeta.info/”
//
//
//
//—————————————————-
var objShell = new ActiveXObject( “WScript.Shell”);
var objCommonUI = new ActiveXObject( “CyberArticleCommonUI.CACommonUI”);
function jsAlert(msg)
{
    return objShell.Popup(msg, 10000, “CyberArticle”, 0);
}
//获得MyBooks文件夹。如果是绿色版本,则默认保存在安装目录下面的My Books文件夹
function GetMyBooksPath()
{
    var strMyBooksPath = objShell.RegRead( “HKEY_CURRENT_USER\\Software\\WizBrother\\CyberArticle\\MyBooksFolder”);
    if (strMyBooksPath == null || strMyBooksPath == “”)
    {
        var objCyberArticleAppPath = objCommonUI.CyberArticleAppPath;
        return objCyberArticleAppPath + “My Books\\”;
    }
    //
    if (strMyBooksPath[strMyBooksPath.length - 1] != ‘\\’)
        strMyBooksPath = strMyBooksPath + “\\”;
    //
    return strMyBooksPath;
}
//有些系统无法正常创建BookBuilder对象,先注册BookBuilder.exe
function RegBookBuilder()
{
    var objCyberArticleAppPath = objCommonUI.CyberArticleAppPath;
    var filename = objCyberArticleAppPath + “bookbuilder.exe”;
    var commandline = “\”" + filename + “\” /RegServer”; 
    //
    objShell.Exec(commandline);
    //等待2秒钟
    WScript.Sleep( 2000);
}
/*
function RunBookBuilder()
{
    RegBookBuilder();
    //
    var objCyberArticleAppPath = objCommonUI.CyberArticleAppPath;
    var filename = objCyberArticleAppPath + “bookbuilder.exe”;
    //
    var oExec = objShell.Exec(filename);
    //
    //等待2秒钟
    WScript.Sleep(2000);
}
*/
//找到channel
function GetItemNodes()
{
    var objXml = new ActiveXObject( “MSXML.DOMDocument”);
    objXml.async = false;
    objXml.load(RSS_URL);
    //
    var channelNode = objXml.selectSingleNode( “/rss/channel”);
    //
    return channelNode.childNodes;
}
 
//c查找书籍,按照书籍名称
var objBookCollection = new ActiveXObject( “CyberArticleBook.CABookCollection”);
var bookguid = null;
for ( var i = 0; i < objBookCollection.Count; i ++)
{
    if (objBookCollection.BookName(i) == BOOK_NAME)
    {
        bookguid = objBookCollection.GUID(i);
        break;
    }
}
//如果没有找到,新增
if (bookguid == null || bookguid.length == 0)
{
    var strNewBookFileName = GetMyBooksPath() + BOOK_NAME + “.xbook”;
    var objBookTools = new ActiveXObject( “CyberArticleBookTools.CABookTools”);
    bookguid = objBookTools.CreateAccessBook(strNewBookFileName);
}
//打开书籍
var objBook = new ActiveXObject( “CyberArticleBook.CABook”);
objBook.Open(bookguid);
//
var myDate = new Date();
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1;
var day = myDate.getDate();
//
var folderpath = BLOG_NAME + “\\” + year + “年\\” + month + “月\\” + day + “日\\”;
//
//
var arrayLinks = new Array();
//
var nodes = GetItemNodes();
for ( var i = 0; i < nodes.length; i ++)
{
    var node = nodes[i];
    //
    if (node.nodeType != 1)
        continue;
    //
    if (node.nodeName != “item”)
        continue;
    //
    var linkNode = node.selectSingleNode( “link”);
    if (null == linkNode)
        continue;
    //
    //
    var link = linkNode.text;
    if (link == null || link.length == 0)
        continue;
    //
    try
    {
        //检查是否已经保存,如果保存,继续
        var nodesBook = objBook.NodesFromURL(link);
        if (nodesBook != null && nodesBook.Count > 0)
            continue;
    }
    catch (e)
    {
    }
    //
    var titleNode = node.selectSingleNode( “title”);
    var title = null;
    if (titleNode != null)
        title = titleNode.text;
    if (title == null)
        title = “”;
    //
    arrayLinks.push(link);
    arrayLinks.push(title);
}
//下载任务
if (arrayLinks.length > 0)
{
    RegBookBuilder();
    //
    var objCABookBuilder = new ActiveXObject( “CyberArticle.CABookBuilderAutomationApp”);
    //
    for ( var i = 0; i < arrayLinks.length; i += 2)
    {
        var link = arrayLinks[i];
        var title = arrayLinks[i + 1];
        //
        if (title.length == 0)
        {
            objCABookBuilder.AddJob(bookguid, folderpath, link, title, “Default”, 0, false, true, 0);
        }
        else
        {
            objCABookBuilder.AddJob(bookguid, folderpath, link, title, “Default”, 0, true, true, 0);
        }
    }
    //
    objCABookBuilder.StartDownload();
}

转载于:https://www.cnblogs.com/abe520/archive/2010/07/18/1780043.html

利用CyberArticle定时自动下载保存博客的新文章相关推荐

  1. 【C++鼠标键盘操作】自动下载CSDN博客文章到PDF

    思路 这个方法的通用性比较差,用到了一个火狐的插件,这个插件可以将单篇csdn博客保存成pdf,如下图: 整体步骤就是,首先用java爬取我个人博客的所有链接,然后把这些链接复制到txt文档中,如下图 ...

  2. Qt利用JavaScript访问网页元素(百度博客下载例子)

    Qt利用JavaScript访问网页元素(百度博客下载例子)   本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息.原文链接.原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业 ...

  3. 用TravisCI持续集成自动部署Hexo博客的个人实践

    优秀的程序员都是不用持续集成的 前几天我面试了一个码农,连续几个专业问题他都没答上来. 尴尬之余,我问它:「你没有什么理想吗?你现在最渴望的事情是什么?」 码农转悠着大眼睛,不假思索道:「做一个持续集 ...

  4. 【基础】利用 hexo + Gitpage 开发自己的博客

    原文作者:cherry 原文地址:[基础]利用 hexo + Gitpage 开发自己的博客 进入程序员这个坑之后就开始自己在网上扒资料,然而资料太多,情况太复杂,主要是看见别人的博客,感觉好高大上, ...

  5. 如何利用wordpress搭建自己独立的博客(个人网站)

    原址:http://blog.csdn.net/edroid1530/article/details/51136896 如何利用wordpress搭建自己独立的博客(个人网站) 搭建博客的方式多种样, ...

  6. 【保姆级】利用Github搭建自己的个人博客,看完就会

    大家好,我是辰哥~ 作为一名喜欢技术的爱好者,平时喜欢把自己学习技术的心得或者一些踩坑.易错的过程记录下来,首选的是技术平台(博客),今天辰哥来教大家如何利用Github来搭建一个自己的个人博客平台. ...

  7. 使用Travis CI自动部署Hexo博客

    自从使用GitHub Pages和Hexo来发布博客之后,不得不说方便了许多,只需要几个简单的命令博客就发布了.但在不断的使用中发现每次的发布操作也挺耗时的. 我一般的操作是将平时整理好的md文件放到 ...

  8. 利用requests库模拟访问博客来提升文章阅读量

    利用requests库模拟访问博客来提升文章阅读量 一.概述 二.简陋版程序 三.升级版程序 一.概述 有的同学在csdn上写了文章之后,看着自己文章的阅读量,少的可怜,不禁希望能把阅读量快速涨上去, ...

  9. 利用Chrome浏览器“自动下载”功能窃取Windows登录密码

    本文讲的是利用Chrome浏览器"自动下载"功能窃取Windows登录密码,在过去的十几年中,除了IE以及Edge浏览器之外,其余还没有公开针对SMB认证攻击的方法.这篇文章介绍的 ...

最新文章

  1. “95后”曹原又双叒叕发Nature了!1个月2篇,已经第6篇了……
  2. 高斯消元处理无解|多解情况 poj1830
  3. 实录分享 | 计算未来轻沙龙:深度学习工具专场(PPT下载)
  4. WebCast《实战ASP.NET AJAX系列课程(2):使用客户端框架创建“纯粹”的Ajax应用程序》相关资源...
  5. Bootstrap3基础 input-group-btn 按钮与输入框 横向组合
  6. Java基础查漏补缺(2)
  7. 明华RD-EB读写器-读写代码
  8. VS开发问题:应用程序无法启动 因为程序的并行配置不正确 ,解决方案
  9. AntennaHome Launch 5G Combo Internal PCB Antenna /5G 全频 PCB天线
  10. java文件下载文件损坏_java上传并下载以及解压zip文件有时会报文件被损坏错误分析以及解决...
  11. 漫威女性电影背后所体现出来的性别观念转变
  12. 2022年中国云计算面临的问题及发展前景预测分析
  13. 计算机里设备和驱动器下面有个没有名字的文件夹怎么删除它
  14. 基于Mind+、MOTT实现人工智能
  15. ods转html android,SAS--output delivery system--ods html
  16. 微软推出三维立体地图搜索(3-D City Live Search)
  17. iText5实现Java生成PDF文件完整版,二维码
  18. 如何在chrome设置主页
  19. 问题解决:如何正确安装 imbalance-learn
  20. http的无连接与无状态

热门文章

  1. LeetCode101——对称二叉树——c++版本实现
  2. java将字符串遍历成数组_Java遍历字符串数组的几种方法
  3. 国外服务器测速文件,国外服务器测速文件
  4. 路由器的虚拟服务器中设置dns,路由器虚拟服务器怎么设置DNS
  5. C语言年利息计算,银行存储利息计算
  6. 短信行业应用的十六种方式
  7. API数据调用参数返回值说明
  8. 小程序开发.mpvue.项目构建与运行
  9. python suds_python suds 一坑
  10. pip install suds