[更新]Episodes Recorder 0.76——快了一点

原来极影旧的页面没更新,还是要用旧的方法获取种子。

加入了旧的正则表达式后,感觉又太臃肿。

于是直接砍掉原来的复杂过程,特别是RSS读取、DataTable写入和读取。

由于获取动画的时候直接获取了种子下载地址,所以比原来快了很多。

原来的获取种子的流程是:

1

现在直接改成了:

2

编译的文件比原来小了1kb。

部分源码:

public void ReadRss(string RssURL)//获取种子~
{

WebRequest hwr = WebRequest.Create(RssURL);
HttpWebResponse hwp = hwr.GetResponse() as HttpWebResponse;
StreamReader sr;
Stream rep = hwp.GetResponseStream();
sr = new StreamReader(rep, Encoding.GetEncoding("utf-8"));
string strSource = sr.ReadToEnd();//获取网页内容

Regex r = new Regex("ltext ttitle" + @"([Ss]*?)" + "

", RegexOptions.Compiled | RegexOptions.IgnoreCase);
Regex r1 = new Regex("(?<=(" + "lank">" + "))[.\s\S]*?(?=(" + "" + "))", RegexOptions.Multiline | RegexOptions.Singleline);//标题
Regex r2 = new Regex("(?<=(" + "href="" + "))[.\s\S]*?(?=(" + """ + "))", RegexOptions.Multiline | RegexOptions.Singleline);//下载地址
MatchCollection matchCollection = r.Matches(strSource);

lv.BeginUpdate();
foreach (Match m in matchCollection)
{
//去除html标记
string cleaned = r1.Match(m.ToString()).Value.Replace("<span class="&quot;keyword&quot;">", "").Replace("</span>", "")
.Replace("]", "").Replace("[", "");

lv.Items.Add(new ListViewItem(new string[] { cleaned,r2.Match(m.ToString()).Value }));
}
lv.EndUpdate();
sr.Dispose();
rep.Dispose();
hwp.Close();
hwr.Abort();

}

三个正则就搞定了。

百度网盘 Rayfile(压缩包MD5:6ED41BD7D204A4FCFD13257227C348DA)
.Net 4.0运行环境(不能运行的安装这个):微软官方     百度网盘 华为网盘

发表评论

电子邮件地址不会被公开。 必填项已用*标注