C# 腳本代碼自動登陸淘寶獲取用戶信息

最近遇到的一個需求是如何讓程序自動登陸淘寶, 獲取用戶名稱等信息. 其實這個利用SS (SpiderStudio的簡稱) 實現起來很是簡單. 十數行代碼就能夠作到很是完善:html

1. 運行SS (下載地址), 編寫腳本打開淘寶登錄頁面:ide

Default.Navigate("https://login.taobao.com/member/login.jhtml");
Default.Ready();

2. 找到用戶名, 密碼的輸入框, 輸入信息, 點擊登陸按鈕:post

var user = Default.SelectSingleNode("#TPL_username_1");
user.Focus(); //模擬點擊用戶名文本框
user.Attr("value", "noxxxxxxx"); //輸入用戶名
Default.Wait(1); //等待一秒
Default.SelectSingleNode("#TPL_password_1").Attr("value", "*******"); //找到密碼框並輸入密碼
Default.Wait(1); //等待一秒
var btnLogin = Default.SelectSingleNode("#J_SubmitStatic");
btnLogin.Click(); //點擊登陸按鈕

請注意代碼中有兩處出現Default.Wait(1). 這是爲了控制節奏. 淘寶對機器人防範嚴格, 若是咱們輸入過快, 淘寶就會追加要求輸入驗證碼. 若是咱們控制一下節奏, 淘寶會認爲這就是一個正常的登陸, 因而不要驗證碼也是可以實現登陸的!網站

3. 等待登陸完成, 頁面跳轉:url

Default.Reset();
Default.Ready();

4. 獲取用戶姓名的節點, 並顯示出來:spa

var name = Default.SelectSingleNode("div.name>a");
MessageBox.Show(name.Text());

 5. 完整的腳本代碼:code

public void Run()
{
    Default.Navigate("https://login.taobao.com/member/login.jhtml");
    Default.Ready();
    var user = Default.SelectSingleNode("#TPL_username_1");
    user.Focus();
    user.Attr("value", "nxxxxxxx");
    Default.Wait(1);
    Default.SelectSingleNode("#TPL_password_1").Attr("value", "********");
    Default.Wait(1);
    var btnLogin = Default.SelectSingleNode("#J_SubmitStatic");
    btnLogin.Click();
    Default.Reset();
    Default.Ready();
    var name = Default.SelectSingleNode("div.name>a");
    MessageBox.Show(name.Text());
}
View Code

 6. 運行效果:視頻

 7. 和Spider Studio採集以及相關腳本編寫的其餘文章:htm

C#中另闢蹊徑解決JSON / XML互轉的問題對象

C#代碼獲取或設置Iframe中的HTML

示例 - C#腳本代碼採集搜狐NBA球員, 球隊和比賽實況

C#中利用JQuery實現視頻網站的縮略圖採集

API - 使用Default對象 - 基礎篇

示例 - 如何翻頁

示例 - 向百度說 Hello world! 並得到迴應.

Spider Studio 社區信息

相關文章
相關標籤/搜索