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


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

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

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

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

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. 等待登錄完成, 頁面跳轉:

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

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

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

 5. 完整的腳本代碼:

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采集以及相關腳本編寫的其他文章:

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

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

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

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

API - 使用Default對象 - 基礎篇

示例 - 如何翻頁

示例 - 向百度說 Hello world! 並獲得回應.

Spider Studio 社區信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM