1. 程式人生 > >自從有了Phantomjs和Casperjs,後臺網頁抓取和互動變得異常的簡單

自從有了Phantomjs和Casperjs,後臺網頁抓取和互動變得異常的簡單

Casperjs是基於Phantomjs的,而Phantom JS是一個伺服器端的 JavaScript API 的 WebKit
     這跟我一直想找個自帶瀏覽器核心的後臺東西的想法“暗合”。所以,在我發現這東西的時候就已經開始不由自主的興奮起來了,研究一番之後,果不其然,後臺連線網站和頁面互動一下子變得異常簡單起來。尤其是對需要登入才可進行的網頁操作。
     於是乎,我就用它來寫了兩個小例子用來做一些登入網站後點擊網上的一些連結和按鈕的操作,在編寫過程中,給人一種“想點哪裡點哪裡,咱們再也不用擔心Cookie的問題~”的感覺~
     看完這個例子,同志們是不是不自覺的想起了某些比如“簽到”,”每日登入領取“之類的詞呢?

[1].[程式碼] 登入滬江英語自動打卡 跳至 [1]

01 var casper = require('casper').create({   
02 verbose: true
03 logLevel: 'debug',
04 pageSettings: {
05 loadImages:  false,        
06 loadPlugins: true,         
07 userAgent: 'Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0'
08 }
09
});
10 //phantom.outputEncoding="gbk";
11 casper.options.viewportSize = {width: 1680, height: 924};
12 casper.start('http://bulo.hujiang.com/app/login?source=nbulo&returnurl=/home/');
13 casper.waitForSelector("form#myform input[name='txtUsername']",
14 function success() {
15 this.test.assertExists(
"form input[name='txtUsername']");
16 this.fill("form",{
17 'txtUsername':'shixiaobao17',
18 'txtPassword':'×××××your password*****'
19 },false);
20 this.click("input#btnLogin");
21 },
22 function fail() {
23 this.test.assertExists("form input[name='txtUsername']");
24 });
25
26 casper.waitFor(function check() {
27 return this.getCurrentUrl().indexOf("bulo.hujiang.com/home")>-1;
28 }, function then() {
29 console.log("登入成功!!!!!!!!!!!!");
30 }).then(function(){
31 console.log("執行登入後的其它操作!!!!!!!!!!!!");
32 if(this.exists("#btn_card_do")){
33 this.click("#btn_card_do");
34 this.waitForSelector("#my_hb_btn",function success(){
35 console.log("打卡成功!");
36 },function fail(){
37 console.log("打卡失敗!");
38 });
39 }else{
40 console.log("今天已經打過卡啦!");
41 }
42
43 });
44 casper.run(function() {this.test.renderResults(true);});

相關推薦

自從PhantomjsCasperjs後臺網頁互動異常簡單

Casperjs是基於Phantomjs的,而Phantom JS是一個伺服器端的 JavaScript API 的 WebKit。      這跟我一直想找個自帶瀏覽器核心的後臺東西的想法“暗合”。所以,在我發現這東西的時候就已經開始不由自主的興奮起來了,研究一番之後

太深了,梯度傳不下去於是有了highway。 幹脆連highway的參數都不要直接殘差於是有了ResNet。 強行穩定參數的均值方差於是有了BatchNorm。RNN梯度不穩定於是加幾個通路門控於是有了LSTM。 LSTM簡化一下,有了GRU。

梯度 直接 ID orm rop 發展 均值 nor 噪聲 請簡述神經網絡的發展史sigmoid會飽和,造成梯度消失。於是有了ReLU。ReLU負半軸是死區,造成梯度變0。於是有了LeakyReLU,PReLU。強調梯度和權值分布的穩定性,由此有了ELU,以及較新的SELU

自從OJ水題嗅探神器麻麻再也不擔心我刷不到題。。

專業軟體工程, 現全職 iOS 開發工程師, 業餘 Android/遊戲開發愛好者 專注於C/C++, 移動應用開發,特別是移動遊戲的開發。Lisp語言的死忠粉:),熱衷於計算機底層原理。 連結我: 我的新浪部落格 Q:1020935219 微訊號:C_W_hu

自從BI商業智慧系統再也不用擔心我的作圖!!!(圖文)

最近使用spotview商業智慧系統,簡單的一點體驗分享一下。這是一個金蝶公司合作的產品,純B/S架構,設計頁面和展示端,現在這已經是不可抵擋的趨勢了。只有後臺設計模型是需要在伺服器上做,類似於資料庫裡做檢視,只要將有關聯表的欄位用線連線起來就OK了。這是做好的一個例子,圖形

手機這些小程序媽媽再也不用擔心我的手機內存不足|極限工坊淘小咖

××× 公交 proc 列表 替代 ext roc 知識 vpd 自從騰訊開始推小程序之後,各式各樣的小程序也開始層出不窮! 自從用了這些小程序,生活方便了很多,完美替代APP,拯救了手機內存不足。 今天來給大家分享幾款比較常用的。 車來了實時公交: 有沒有覺得每次去了公

自從這款神器我的PPT課件居然只花20分鐘就做完了

網上 虛線 軟件 幻燈片 趣味性 交互 插入 文件轉換 -c 在做PPT課件的時候會覺得觀看的內容很枯燥平淡無奇,而且花了這麽多功夫還沒達到理想的演示效果。就如在教室的時候學生不會看的懂只有一堆導讀文章或者排版一般的圖文PPT,想要做出一個有靈魂的PPT,趕緊了解下這款PP

億視康讓你對近視說拜拜

億視康採用的物理訓練法,就是針對眼的解剖結構和生理機能,通過有針對性的視覺訓練,促使睫狀肌持續進行主動調節,從而恢復晶狀體彈性,使其厚薄調節範圍恢復到正常範疇,改善屈光度,以保證視網膜成像的聚焦清晰,從而緩解或解除視力障礙,恢復視力健康。一.治療效果: 輕度近視、弱視:雙眼視力在0.6以上者,經1個療

麝香鼻炎靈再也不怕鼻炎二十年老鼻炎都能治好!

detail png 特點 通過 健康 進行 左右 就是 分享圖片 ??如果你有十年,20年的各類老鼻炎,鼻竇炎,中耳炎,就用麝香鼻炎靈滴鼻液。淘寶購買地址:點擊購買麝香鼻炎靈打開淘寶搜索:宜爽中醫鼻炎選用了三十多味專門治療鼻炎方面的一些中藥材,選用了珍稀名貴的野生中藥材麝

自從我這樣擼程式碼以後公司網頁的瀏覽量提高107%!

歡迎大家前往騰訊雲+社群,獲取更多騰訊海量技術實踐乾貨哦~ 作者:yangchunwen HTTP協議是前端效能乃至安全中一個非常重要的話題,最近在看《web效能權威指南(High Performance Browser Networking)》,把其中關於HTTP部分的內容拿出來分享一下,加了一點自己

這些 Chrome 外掛效率提升10倍

Chrome 瀏覽器深受廣大程式設計師的喜愛,把她稱之為一場瀏覽器革命毫不為過。而它的外掛能夠極大地提高生產效率,筆者把自己經常用到的感覺不錯的外掛分享給大家,同時歡迎大夥兒推薦更多更好玩的外掛。 0、Proxy SwitchyOmega Proxy SwitchyOmega 是科學上網的必

Linux 執行jar 後臺程序執行jar 結束後臺正在執行的jar

最近搞了一個java UDP Socket,先是在win下寫,後來老大讓在linux下執行,%&656¥5&*……%&……¥7* /**********吐槽結束,開始正文****************/ 1.首先win下的java執行怎樣在linux shell 裡

這個模板集合輕鬆玩轉版本控制中的ignore檔案

關於ignore檔案 如果你也像筆者一樣,在軟體開發過程中經常使用版本控制(Version Control)工具來對專案中的程式碼檔案進行管理,那麼本文就可以繼續閱讀下去了。 通常我們會用Git、SVN兩大工具管理專案程式碼檔案,使用Git的程式碼託管平臺常見有:國外的GitHub和國

這套模板女朋友再也不用擔心我刷不動 LeetCode

全文包含 12000+ 字、30 張高清圖片,預計閱讀時間為 40 分鐘,強烈建議先收藏再仔細閱讀。 作者 | 李威 整理 | 公眾號:五分鐘學演算法 個人部落格 | https://www.cxyxiaowu.com 來源 | https://www.liwei.party/ 下面的動畫以 「力扣」第 7

MDL鎖檢視業務死鎖從此一目瞭然

摘要:MDL鎖檢視讓一線運維人員清晰地檢視資料庫各session持有和等待的元資料鎖資訊,從而找出資料庫MDL鎖等待的根因,準確地進行下一步決策。 當多使用者共同存取資料時,資料庫中就會產生多個事務同時存取同一資料的情況。若不控制這種併發操作,資料庫的一致性就會被破壞。這種情況下,加鎖是實現資料庫併發控制的關

Git這個操作我再也不怕程式碼混亂

大家好,今天的文章我們來介紹git當中一個非常常用的功能——儲藏。 大家在協同開發的時候應該都有這樣的經歷,有的時候我們的功能開發了一半,因為某些原因我們想要checkout到其他的分支上檢視程式碼或者是執行某個工作。但是如果我們直接執行checkout,git會禁止我們的行為。 我拿本地的專案舉個例子,可以

Git這個功能再也不需要依賴IDE

大家好,今天給大家介紹一個隱藏的功能——搜尋。 我們在寫程式碼的時候經常遇到的一種情況就是,我們想要知道某一個函式是怎麼定義的,這樣我們才能知道該如何呼叫它。如果程式碼少的話我們當然可以自己人肉查詢,但是如果程式碼量很大的話,人肉查詢顯然就不行了。如果使用IDE的話,現在的IDE當中當然一般都繼承了這個功能,

【小家思想】通俗易懂版講解JWTOAuth2以及他倆的區別聯絡(Token鑑權解決方案)

相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9

day10 01_類,抽象類,介面的綜合小練習,02_形式引數返回值的問題深入研究03_包的概述講解04_修飾符的概述總結05_內部類概述講解

01_類,抽象類,介面的綜合小練習 /* 教練和運動員案例(學生分析然後講解) 乒乓球運動員和籃球運動員。 乒乓球教練和籃球教練。 為了出國交流,跟乒乓球相關的人員都需要學習英語。 請用所學知識: 分析,這個案例中有哪些抽象類,哪些介面,哪些具體類。 整個分析過程,我是通過畫圖講解的。 */

Eclipse + Msys + Boost 安裝配置實現語法高亮編譯

1. 環境安裝和配置 下載Ecllipse, 稍微老一點的版本在高亮C++11的語法會有一些問題,目前這個版本是可以的。Eclipse的具體安裝步驟不說了,略過。 下載Msys並安裝。Msys是目前最好的在Windows下開發GNU程式的環境之一,比Cy

java同步非同步阻塞非阻塞的聯絡區別

所謂同步就是一個任務的完成需要依賴另外一個任務時,只有等待被依賴的任務完成後,依賴的任務才能算完成,這是一種可靠的任務序列。要麼成功都成功,失敗都失敗,兩個任務的狀態可以保持一致。而非同步是不需要等待被依賴的任務完成,只是通知被依賴的任務要完成什麼工作,依賴