C 網頁資訊採集 資料訪問

2021-09-05 22:39:00 字數 4834 閱讀 2757

using system;

using system.collections;

using system.collections.specialized;

using system.data;

using system.data.sqlclient;

using system.configuration;

public abstract class dbhelper

else

}///

/// 判斷是否存在

///

/// sql

/// 引數

/// bool

public static bool exists(string strsql, params sqlparameter cmdparms)

else

if (cmdresult == 0)

else

}#endregion

#region  執行簡單sql語句

///

/// 執行sql語句,返回影響的記錄數

///

/// sql語句

/// 影響的記錄數

public static int executesql(string sqlstring)

catch (system.data.sqlclient.sqlexception e)

finally}}

}///

/// 執行多條sql語句,實現資料庫事務。

///

/// 多條sql語句

public static void executesqltran(arraylist sqlstringlist)

}tx.commit();

}catch (system.data.sqlclient.sqlexception e)}}

///

/// 執行帶乙個儲存過程引數的的sql語句。

///

/// sql語句

/// 引數內容,比如乙個欄位是格式複雜的文章,有特殊符號,可以通過這個方式新增

/// 影響的記錄數

public static int executesql(string sqlstring, string content)

catch (system.data.sqlclient.sqlexception e)

finally}}

///

/// 向資料庫裡插入影象格式的字段(和上面情況類似的另一種例項)

///

/// sql語句

/// 影象位元組,資料庫的字段型別為image的情況

/// 影響的記錄數

public static int executesqlinsertimg(string strsql, byte fs)

catch (system.data.sqlclient.sqlexception e)

finally}}

///

/// 執行一條計算查詢結果語句,返回查詢結果(object)。

///

/// 計算查詢結果語句

/// 查詢結果(object)

public static object getsingle(string sqlstring)

else

}catch (system.data.sqlclient.sqlexception e)}}

}///

/// 執行查詢語句,返回sqldatareader

///

/// 查詢語句

/// sqldatareader

public static sqldatareader executereader(string strsql)

catch (system.data.sqlclient.sqlexception e)

}///

/// 執行查詢語句,返回dataset

///

/// 查詢語句

/// dataset

public static dataset query(string sqlstring)

catch (system.data.sqlclient.sqlexception ex)

return ds;}}

#endregion

#region 執行帶引數的sql語句

///

/// 執行sql語句,返回影響的記錄數

///

/// sql語句

/// 影響的記錄數

public static int executesql(string sqlstring, params sqlparameter cmdparms)

catch (system.data.sqlclient.sqlexception e)}}

}///

/// 執行多條sql語句,實現資料庫事務。

///

/// sql語句的雜湊表(key為sql語句,value是該語句的sqlparameter)

public static void executesqltran(hashtable sqlstringlist)

}catch (exception e)}}

}///

/// 執行一條計算查詢結果語句,返回查詢結果(object)。

///

/// 計算查詢結果語句

/// 查詢結果(object)

public static object getsingle(string sqlstring, params sqlparameter cmdparms)

else

}catch (system.data.sqlclient.sqlexception e)}}

}///

/// 執行查詢語句,返回sqldatareader

///

/// 查詢語句

/// sqldatareader

public static sqldatareader executereader(string sqlstring, params sqlparameter cmdparms)

catch (system.data.sqlclient.sqlexception e)

///

/// 執行查詢語句,返回dataset

///

/// 查詢語句

/// dataset

public static dataset query(string sqlstring, params sqlparameter cmdparms)

catch (system.data.sqlclient.sqlexception ex)

return ds;}}

}private static void preparecommand(sqlcommand cmd, sqlconnection conn, sqltransaction trans, string cmdtext, sqlparameter cmdparms)

}#endregion

#region 儲存過程操作

///

/// 執行儲存過程

///

/// 儲存過程名

/// 儲存過程引數

/// sqldatareader

public static sqldatareader runprocedure(string storedprocname, idataparameter parameters)

///

/// 執行儲存過程

///

/// 儲存過程名

/// 儲存過程引數

/// dataset結果中的表名

/// dataset

public static dataset runprocedure(string storedprocname, idataparameter parameters, string tablename)

catch (exception e)

return dataset;}}

///

/// 構建 sqlcommand 物件(用來返回乙個結果集,而不是乙個整數值)

///

/// 資料庫連線

/// 儲存過程名

/// 儲存過程引數

/// sqlcommand

private static sqlcommand buildquerycommand(sqlconnection connection, string storedprocname, idataparameter parameters)

return command;

}///

/// 執行儲存過程,返回影響的行數 

///

/// 儲存過程名

/// 儲存過程引數

/// 影響的行數

///

public static int runprocedure(string storedprocname, idataparameter parameters, out int rowsaffected)

}///

/// 建立 sqlcommand 物件例項(用來返回乙個整數值)

///

/// 儲存過程名

/// 儲存過程引數

/// sqlcommand 物件例項

private static sqlcommand buildintcommand(sqlconnection connection, string storedprocname, idataparameter parameters)

#endregion}}

採集資料小總結

採集過程遇到的問題 1.十分鐘內訪問資料頁面,需要輸入驗證碼 2.每天ip限定訪問五十個以內,用完則明天再來 b 剛開始的解決辦法 b 去抓取網上提供的 ip 埠,然後 訪問 問題 ip好多不能用,需要 ip個數較多,然後還要根據採集 的規則設定,比如十分鐘內每個 訪問規則數量 1,之後再次訪問.b...

網頁資訊採集實現

最近公司需要開發乙個簡歷匯入功能,類似部落格搬家或者郵箱搬家,之前抓取資訊是利用火車採集器,但是簡歷匯入功能需要使用者登陸以後才能獲取簡歷資料,無奈只好自己開發了。首先是遇到的問題是 如何實現模擬登陸?我們知道一般的 都是通過cookies來維護狀態的,我抓的 也是支援利用cookies來驗證使用者...

網頁標題資訊採集

之前做了乙個通過ip來掃瞄 的,以為能掃到所有的 因為ip是能全部遍歷的,但是忘記了很多 是禁止反向解析的。所以更改了寫法,仿照類似爬蟲的方法,抓取乙個網頁的內容,然後遍歷其中的 然後根據其中的 再去遍歷內容,如此做了個簡單的網頁標題資訊採集工具.更新,1.使用多執行緒處理 2.使用快取技術減少db...