proquest的采集程序demo测试截图
程序C#.net开发,程序使用了 Castle Activerecord, Nhibernate ,Spring.net, Memcached分布式数据排重,
自动分页,错误自动重试,超时处理等自能纠错技术,,
配置 部分
</configSections> <appSettings> <add key="startId" value="592" /> <add key="endId" value="600" /> <add key="startPId" value="0" /> <add key="Cookies" value="" /> <add key="DBID" value="10767" /> <add key="SINDEX" value="10" /> <add key="EINDEX" value="20" /> <add key="PM" value="53153" /> <add key="PC" value="6490441" /> <add key="D" value="437140591" /> <add key="backupData" value="53153,6490441,437140541,2315" /> </appSettings>
部分代码
rtn = Zfr.Common.Helper.GetPage(url, cookies, Encoding.GetEncoding("iso-8859-1"), url, null); if (rtn.IndexOf("LOGIN ERROR MESSAGE") != -1) { Zfr.Common.ConsoleProgram.ShowError("线程->LOGIN ERROR,自动登录"); System.Threading.Thread.Sleep(3000); GetCookies(rtn); goto p; } if (rtn.IndexOf("The remote name could not be resolved") != -1 || rtn.IndexOf("has timed out") != -1 || rtn.IndexOf("Bad Request") != -1) { error++; if (error < 4) { Zfr.Common.ConsoleProgram.ShowError("线程->错误,暂停4秒,自动重试"); System.Threading.Thread.Sleep(4000); goto p; } else { Zfr.Common.ConsoleProgram.ShowError("线程->错误,超过3次,回车跳过,继续"); Console.ReadLine(); }
---------------------------------
if (MemcachedBench.KeyExists("" + obj.HASH)) { Zfr.Common.ConsoleProgram.ShowError("KEY->重复:" + obj.HASH); } else {
--------------------------------------------------------------------
if (m.Success) { obj.magLink = m.Groups[0].Value; } DB<ProQuestItem>.Create(obj); Zfr.Common.ConsoleProgram.ShowSuccess("DATA->保存成功 ID:" + obj.ID); MemcachedBench.Set("" + obj.HASH, null); successCount++; SetConfig("backupData", string.Format("{0},{1},{2},{3}", pmid, pcid, did, obj.ID));
----------------------------------------------------------
void ShowSpeed() { TimeSpan ts = DateTime.Now - startTime; double s = ts.TotalSeconds; Zfr.Common.ConsoleProgram.Show(string.Format("INFO->{11}|{8} {9} {10}|{5} {6} {7}|C:{4} SP:{1} {2} {3} SPD:{0}", 24 * 60 * 60 * successCount / s, ts.Hours, ts.Minutes, ts.Seconds,successCount, pmid, pcid, did,sIndex,eIndex,cIndex,dbid)); }
------------------------------------------------
测试程序demo截图pro-qq1163551688.jpg