C#Winform下使用WebKit、Geckofx、CefSharp心得


       最近公司需要從一個電商后台獲取數據,無奈這項艱巨的任務交給了我,我查看了該站所有API都找不到相關的方法,找客服也無濟於事,所以只有自己爬數據了。試了下python確實可以抓取cookie,無奈自己python新手。所以還是從最熟悉的winform入手。然后遇到了大坑,用遍這么多瀏覽器都無法抓到所有的cookies。

瀏覽器 內核 兼容 獲取cookies
VS自帶webBrowser IE 最差 不全
WebKit Firefox 一般 不全
Geckofx Firefox 不全
CefSharp

chrome(谷歌)

建議新入坑的碼農,只要是項目里需要用到瀏覽器的強烈建議用CefSharp,而且對js支持也不錯,直接可以執行js代碼。

//設置用戶名
chromeBrowser.ExecuteScriptAsync("$('#userPhone').val('" + mobile + "')");
//設置密碼
chromeBrowser.ExecuteScriptAsync("$('#userPassword').val('" + pwd + "')");
//驗證碼焦點
chromeBrowser.ExecuteScriptAsync("$('#captcha').focus()");

登錄成功后就可以抓取cookies

var cookieManager = chromeBrowser.GetCookieManager();
cookieManager.VisitAllCookies(new CookieVisitor());

原先想上傳視頻,無奈太麻煩,就發個圖吧

有了cookies之后,那不是可以為所欲為了。檢測他們獲取數據的post地址,攜帶需要的cookies直接去獲取,返回的也是json。簡直不要太舒服,就是登錄需要一個驗證碼需要人工填寫。

技術支持QQ:1124391467


免責聲明!

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



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