public static APIInfo GetAPI(SysArgFor apiType) { switch (apiType) { case SysArgFor.USER_RELATION: ApiForUserRelation.API.Redirect_Uri = "http://weibo.com/sizheng"; return(ApiForUserRelation); case SysArgFor.USER_INFO: ApiForUserInfo.API.Redirect_Uri = "http://weibo.com/sizheng"; return(ApiForUserInfo); case SysArgFor.USER_TAG: ApiForUserTag.API.Redirect_Uri = "http://weibo.com/sizheng"; return(ApiForUserTag); case SysArgFor.STATUS: ApiForStatus.API.Redirect_Uri = "http://weibo.com/sizheng"; return(ApiForStatus); case SysArgFor.COMMENT: ApiForComment.API.Redirect_Uri = "http://weibo.com/sizheng"; return(ApiForComment); default: return(null); } }
/// <summary> /// 为机器人获取当前爬行的ID(若爬行中止,则为上次中止处的ID) /// </summary> static public long GetCurrentID(SysArgFor eFor) { Database db = DatabaseFactory.CreateDatabase(); string strSQL = ""; switch (eFor) { case SysArgFor.USER_RELATION: strSQL = "select arg_value from sys_args where arg_name='current_user_id_userRelation'"; break; case SysArgFor.USER_INFO: strSQL = "select arg_value from sys_args where arg_name='current_user_id_userInfo'"; break; case SysArgFor.USER_TAG: strSQL = "select arg_value from sys_args where arg_name='current_user_id_userTag'"; break; case SysArgFor.STATUS: strSQL = "select arg_value from sys_args where arg_name='current_user_id_status'"; break; case SysArgFor.COMMENT: strSQL = "select arg_value from sys_args where arg_name='current_status_id'"; break; } DataRow dr = db.GetDataRow(strSQL); if (dr == null) return 0; else return Convert.ToInt64(dr["arg_value"]); }
/// <summary> /// 记录机器人当前爬行的ID /// </summary> static public void SetCurrentID(long lID, SysArgFor eFor) { Database db = DatabaseFactory.CreateDatabase(); string strDeleteSQL = ""; string strInsertSQL = ""; switch (eFor) { case SysArgFor.USER_RELATION: strDeleteSQL = "delete from sys_args where arg_name='current_user_id_userRelation'"; strInsertSQL = "insert into sys_args(arg_name,arg_value) values('current_user_id_userRelation','" + lID.ToString() + "')"; break; case SysArgFor.USER_INFO: strDeleteSQL = "delete from sys_args where arg_name='current_user_id_userInfo'"; strInsertSQL = "insert into sys_args(arg_name,arg_value) values('current_user_id_userInfo','" + lID.ToString() + "')"; break; case SysArgFor.USER_TAG: strDeleteSQL = "delete from sys_args where arg_name='current_user_id_userTag'"; strInsertSQL = "insert into sys_args(arg_name,arg_value) values('current_user_id_userTag','" + lID.ToString() + "')"; break; case SysArgFor.STATUS: strDeleteSQL = "delete from sys_args where arg_name='current_user_id_status'"; strInsertSQL = "insert into sys_args(arg_name,arg_value) values('current_user_id_status','" + lID.ToString() + "')"; break; case SysArgFor.COMMENT: strDeleteSQL = "delete from sys_args where arg_name='current_status_id'"; strInsertSQL = "insert into sys_args(arg_name,arg_value) values('current_status_id','" + lID.ToString() + "')"; break; } db.CountByExecuteSQL(strDeleteSQL); db.CountByExecuteSQL(strInsertSQL); }
protected StatusQueue queueStatus; //微博队列引用 //构造函数,需要传入相应的新浪微博API和主界面 public RobotBase(SysArgFor robotType) { crawler = new SinaMBCrawler(robotType); api = GlobalPool.GetAPI(robotType); switch (robotType) { case SysArgFor.USER_INFO: if (iMinSleep < GlobalPool.MinSleepMsForUserInfo) { iMinSleep = GlobalPool.MinSleepMsForUserInfo; } break; case SysArgFor.USER_TAG: if (iMinSleep < GlobalPool.MinSleepMsForUserTag) { iMinSleep = GlobalPool.MinSleepMsForUserTag; } break; case SysArgFor.STATUS: if (iMinSleep < GlobalPool.MinSleepMsForStatus) { iMinSleep = GlobalPool.MinSleepMsForStatus; } break; case SysArgFor.COMMENT: if (iMinSleep < GlobalPool.MinSleepMsForComment) { iMinSleep = GlobalPool.MinSleepMsForComment; } break; default: if (iMinSleep < GlobalPool.MinSleepMsForUserRelation) { iMinSleep = GlobalPool.MinSleepMsForUserRelation; } break; } AdjustRealFreq(); }
/// <summary> /// 为机器人获取当前爬行的ID(若爬行中止,则为上次中止处的ID) /// </summary> static public long GetCurrentID(SysArgFor eFor) { Database db = DatabaseFactory.CreateDatabase(); string strSQL = ""; switch (eFor) { case SysArgFor.USER_RELATION: strSQL = "select arg_value from sys_args where arg_name='current_user_id_userRelation'"; break; case SysArgFor.USER_INFO: strSQL = "select arg_value from sys_args where arg_name='current_user_id_userInfo'"; break; case SysArgFor.USER_TAG: strSQL = "select arg_value from sys_args where arg_name='current_user_id_userTag'"; break; case SysArgFor.STATUS: strSQL = "select arg_value from sys_args where arg_name='current_user_id_status'"; break; case SysArgFor.COMMENT: strSQL = "select arg_value from sys_args where arg_name='current_status_id'"; break; } DataRow dr = db.GetDataRow(strSQL); if (dr == null) { return(0); } else { return(Convert.ToInt64(dr["arg_value"])); } }
public static long GetCurrentID(SysArgFor IDFor) { CurrentIDs currentIDs = CurrentIDHelper.Load(); if (currentIDs == null) currentIDs = CurrentIDHelper.LoadDefault(); switch (IDFor) { case SysArgFor.USER_INFO: return currentIDs.UIDForUserInfo; break; case SysArgFor.USER_TAG: return currentIDs.UIDForUserTag; break; case SysArgFor.STATUS: return currentIDs.UIDForStatus; break; case SysArgFor.COMMENT: return currentIDs.StatusID; break; default: return currentIDs.UIDForUserRelation; break; } }
public static APIInfo GetAPI(SysArgFor apiType) { switch (apiType) { case SysArgFor.USER_RELATION: ApiForUserRelation.API.Redirect_Uri = "http://weibo.com/sizheng"; return ApiForUserRelation; case SysArgFor.USER_INFO: ApiForUserInfo.API.Redirect_Uri = "http://weibo.com/sizheng"; return ApiForUserInfo; case SysArgFor.USER_TAG: ApiForUserTag.API.Redirect_Uri = "http://weibo.com/sizheng"; return ApiForUserTag; case SysArgFor.STATUS: ApiForStatus.API.Redirect_Uri = "http://weibo.com/sizheng"; return ApiForStatus; case SysArgFor.COMMENT: ApiForComment.API.Redirect_Uri = "http://weibo.com/sizheng"; return ApiForComment; default: return null; } }
protected StatusQueue queueStatus; //微博队列引用 //构造函数,需要传入相应的新浪微博API和主界面 public RobotBase(SysArgFor robotType) { crawler = new SinaMBCrawler(robotType); api = GlobalPool.GetAPI(robotType); switch (robotType) { case SysArgFor.USER_INFO: if (iMinSleep < GlobalPool.MinSleepMsForUserInfo) iMinSleep = GlobalPool.MinSleepMsForUserInfo; break; case SysArgFor.USER_TAG: if (iMinSleep < GlobalPool.MinSleepMsForUserTag) iMinSleep = GlobalPool.MinSleepMsForUserTag; break; case SysArgFor.STATUS: if (iMinSleep < GlobalPool.MinSleepMsForStatus) iMinSleep = GlobalPool.MinSleepMsForStatus; break; case SysArgFor.COMMENT: if (iMinSleep < GlobalPool.MinSleepMsForComment) iMinSleep = GlobalPool.MinSleepMsForComment; break; default: if (iMinSleep < GlobalPool.MinSleepMsForUserRelation) iMinSleep = GlobalPool.MinSleepMsForUserRelation; break; } AdjustRealFreq(); }
public static long GetCurrentID(SysArgFor IDFor) { CurrentIDs currentIDs = CurrentIDHelper.Load(); if (currentIDs == null) { currentIDs = CurrentIDHelper.LoadDefault(); } switch (IDFor) { case SysArgFor.USER_INFO: return(currentIDs.UIDForUserInfo); break; case SysArgFor.USER_TAG: return(currentIDs.UIDForUserTag); break; case SysArgFor.STATUS: return(currentIDs.UIDForStatus); break; case SysArgFor.COMMENT: return(currentIDs.StatusID); break; default: return(currentIDs.UIDForUserRelation); break; } }
public SinaMBCrawler(SysArgFor crawlerType) { api = GlobalPool.GetAPI(crawlerType); }