proquest的采集程序demo测试截图

    技术2025-08-23  20

    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

     

    最新回复(0)