人人网日志导出

其实这个软件是kaisir做的,看了看挺不错的。比较容易理解,只不过我在上面加上了图片导出功能,也就是说将日志的图片下载到本地。由于时间仓促没能实现理想的功能,我当初想的是用正则表达式匹配出图片地址和文件名,然后用C#将原来的地址替换成本地的。其实在我做的基础上也是比较容易实现的。只需要将原来的替换就可以了,麻烦的是怎么再写回去。先实现这些吧,以后学多了在研究。

使用方面将图片存在论img中,每天日志的图片以每篇日志的名字开头,比方日志名为1..html,则图为1_XX.jpg。

所以缺点也暴露无疑,图片存放比较乱,本来想每天日志的图片单独放在一个文件夹里,以后再改吧。

按道理实现起来不是很难,麻烦啊,呵呵。最主要的问题是正则表达式,用正则表达式比配文章地址,匹配图片等。相对较麻烦。还有人人网上传的图片比较有规律,否则我这菜鸟水平就不知道怎么办了。还好kaisir做的大部分的工作。

其中保存图片得从网上下载,那么贴出下载段的代码吧:

private  static void download(string url, string filename)

        {

            WebClient client = new WebClient();

            client.DownloadFile(url, filename);

            Stream str = client.OpenRead(url);

            byte[] mbyte = new byte[100000];

            int allmybyte = (int)mbyte.Length;

            int startmbyte = 0;

            //写入到BYTE数组中,起缓冲作用

            while (allmybyte > 0)

            {

                int m = str.Read(mbyte, startmbyte, allmybyte);

                if (m == 0)

                    break;

                startmbyte += m;

                allmybyte -= m;

            }

            FileStream fstr = new FileStream(@"D:\Kaisir\img\"+filename, FileMode.Create, FileAccess.Write);

            fstr.Write(mbyte, 0, startmbyte);

            str.Close();

            fstr.Close();

        }

现在把改进后的源码和程序放出,希望多多支持。程序下载:点击下载此文件

源文件下载:点击下载此文件

PS:现在我有在上面的版本上做了些修改,原先存在数组长度不够可能导致较大点的图片不能下载,导致数组溢出出现错误。由于是网页图片都经过了网站的处理,所以将数组长度扩充了十倍,下载大小扩大到970K,同时改变了日志文件多,图片多的日志图片目录不清晰的情况,修改了网页中图片的地址改为本地。现提供测试。点击下载此文件

源自:ALsite,http://www.alinsite.info

原文地址:https://www.cnblogs.com/alin/p/1900556.html