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

  最近公司需要从一个电商后台获取数据,无奈这项艰巨的任务交给了我,我查看了该站所有API都找不到相关的方法,找客服也无济于事,所以只有自己爬数据了。试了下python确实可以抓取cookie,无奈自己python新手。所以还是从最熟悉的winform入手。然后遇到了大坑,用遍这么多浏览器都无法抓到所有的cookies。

浏览器内核兼容获取cookies
VS自带webBrowserIE最差不全
WebKitFirefox一般不全
GeckofxFirefox不全
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。简直不要太舒服,就是登录需要一个验证码需要人工填写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值