728
火車采集器
火車頭數據采集平台Web發布模塊插件的開發文檔
火車頭數據采集平台Web發布模塊插件的開發文檔
作者:小文 發布於:2013-3-21 10:50 Thursday 分類:軟件培訓
v7版本在web發布時也添加了一個新的插件功能。該插件功能可以讓用戶自由的設置如何發布,從而可以發內容到各種各樣的網站上去。用戶在開發時,需要實現采集器System目錄下的AppInterFace.dll文件中的IWebPost接口(在實際開發中,不能直接引用System\AppInterFace.dll文件。要引用Extensions\LocoySpider\Develop\Releas\中的沒有加密的AppInterFace.dll,開發完成後,將除過AppInterFace.dll外的其它的用戶自己使用的類庫放在采集器目錄下,插件導入模塊中即可),然後在發布模塊中,添加該插件即可。
需要注意的一點是,SetModule方法中的參數暫時不對用戶開放的。
using System;
using System.Collections.Generic;
using System.Text;
namespace LeWell.Api
{
/// <summary>
/// web在線發布接口
/// </summary>
public interface IWebPost:ICloneable,IDisposable
{
/// <summary>
/// 設置模塊的信息,方便插件使用
/// </summary>
/// <param name="moudle"></param>
/// <param name="table"></param>
void SetModule(object moudle, object table);
/// <summary>
/// bool方法出錯後的提示信息
/// </summary>
string Error { get; }
/// <summary>
/// 是否啟用登陸網站
/// </summary>
bool UseLogin { get; }
/// <summary>
/// 登陸網站
/// </summary>
/// <param name="loginUrl">登陸地址</param>
/// <param name="loginRefer">來源頁麵</param>
/// <param name="user_agent">user-agent</param>
/// <param name="loginImgUrl">驗證碼地址</param>
/// <param name="dicPost">登陸post數據</param>
/// <param name="failInfos">失敗信息,可能為null</param>
/// <param name="sucessInfos">成功信息,可能為null</param>
/// <param name="errorHtml">登陸失敗後的html信息</param>
/// <param name="cookies">登陸成功後返回的cookie</param>
/// <returns>是否成功登陸</returns>
bool Login(string loginUrl, string loginRefer,string user_agent, string loginImgUrl, Dictionary<string, string> dicPost, string[] failInfos, string[] sucessInfos, ref string errorHtml,System.Net.CookieCollection cookies);
/// <summary>
/// 是否啟用獲取列表
/// </summary>
bool UseGetList { get; }
/// <summary>
/// 刷新列表
/// </summary>
/// <param name="refreshUrl">刷新列表頁麵</param>
/// <param name="refreshRefer">來源頁麵</param>
/// <param name="user_agent">user-agent</param>
/// <param name="cookies">訪問需要的cookie</param>
/// <param name="refreshStart">頁麵開始區域</param>
/// <param name="refreshEnd">頁麵區域結束</param>
/// <param name="refreshRegex">分類列表名稱及id格式</param>
/// <param name="html">返回的html代碼</param>
/// <returns>字典,為分類id,分類名稱</returns>
Dictionary<string, string> GetList(string refreshUrl, string refreshRefer, string user_agent, System.Net.CookieCollection cookies, string refreshStart, string refreshEnd, string refreshRegex, ref string html);
/// <summary>
/// 是否啟用獲取隨機值,這個對所有的都有用
/// </summary>
bool UseGetFormHash { get; }
/// <summary>
/// 獲取隨機值
/// </summary>
/// <param name="hashUrl">隨機值獲取頁麵</param>
/// <param name="hashRefer">來源</param>
/// <param name="user_agent">user-agent</param>
/// <param name="cookies">網站cookie</param>
/// <param name="hashStart">隨機值前字符串</param>
/// <param name="hashEnd">隨機值後字符串</param>
/// <param name="result"></param>
/// <returns>成功否</returns>
bool GetFormHash(string hashUrl, string hashRefer, string user_agent, System.Net.CookieCollection cookies, string hashStart, string hashEnd,ref string result);
/// <summary>
/// 是否啟用發布數據
/// </summary>
bool UsePost { get; }
/// <summary>
/// 發布文章
/// </summary>
/// <param name="PostUrl">發表地址</param>
/// <param name="PostRefer">來源頁</param>
/// <param name="user_agent">user-agent</param>
/// <param name="cookies">cookie</param>
/// <param name="dic">發布的字典值</param>
/// <param name="uploadFiles">上傳文件信息</param>
/// <param name="failInfos">失敗標識碼</param>
/// <param name="sucessInfos">成功標識碼</param>
/// <param name="error">出錯信息,因為可能是幾個線程同時發的,所以不用單個實例的出錯信息</param>
/// <param name="sucess">成功標識碼</param>
/// <param name="html">返回的html代碼</param>
/// <returns>是否發布成功</returns>
bool Post(string PostUrl, string PostRefer, string user_agent, System.Net.CookieCollection cookies, List<KeyValuePair<string, string>> dic, Dictionary<string, List<string>> uploadFiles, string[] failInfos, string[] sucessInfos, ref string error,ref string sucess,ref string html);
}
}
標簽: 開發.web發布
評論:
最後更新:2017-05-09 01:05:59