摘要:始終返回錯誤也是最近剛接觸打算用來爬一爬學校的信息門戶海報因為學校的海報有的是文字又有的是圖片,圖片的鏈接也比較奇怪所以希望直接把網頁的內容部分截圖下來,因為需要登陸,所以需要用到。總之就是雖然它返回,但是實際上操作是成功了的完
Phantomjs v.2.1 addCookie()始終返回錯誤
也是最近剛接觸Phantomjs,打算用來爬一爬學校的信息門戶海報(因為學校的海報有的是文字又有的是圖片,圖片的鏈接也比較奇怪:
my.**.edu.cn/attachmentDownload.portal?xxxxxxxxxxxxx
所以希望直接把網頁的內容部分截圖下來,因為需要登陸,所以需要用到cookies。然后我由官方API文件 http://phantomjs.org/api/知道了可以用 phantom.addCookie() 來添加cookies。
var login1 = { "name": "Login.Token1", "value": "15***227", "path": "/", } if (phantom.addCookie(login1)) { console.log("Cookie_login1 success") } else { console.log("Fail") } //............Fail
可是再實際用的時候發現怎么都不成功,永遠都是Fail
因為感覺后面的敘述有些啰嗦以及些許的語焉不詳,所以先上結論:
雖然它返回false,但是實際上操作是成功了的!
一開始以為是添加的Cookie有問題于是乎我到看到這個文章phantomjs截圖的實踐——
雖然他這么說可是官方文件里面沒有這么說——
不過在介紹 "webpage" 類的 ‘addCookie’ 的時候有說明——
好吧,那就弄吧,于是我改成了這樣
var login1 = { "name": "Login.Token1", "value": "15***227", "path": "/", "domain":"https://www.baidu.com" //呵呵 } if (phantom.addCookie(login1)) { console.log("Cookie_login1 success") } else { console.log("Fail") //............Fail
還是失??!我去怎么回事?。ó斎挥型瑢W可能已經發現這里的問題了。)
但無論如何......
后來我去Google找(吐槽一下,我本來還以為中國國內討論技術的挺多的了,可是去搜phantomjs——少!太少了!)
于是在phantomjs的github官網上看到了這個今年三月的issues
那個....我升級到了v2.1,addcookies怎么老說失敗啊
——恩,看來是個bug呢,在這里糾結了挺長時間的我說了一句“窩草”。
額,我英語不太好,帖子后面說"fixed",我就以為已經修復了,于是打算去升級 phantomjs。我再下了一遍官網的版本,可是問題還是在。
我就回帖子去,發現修復修復到了phantomas——‘what!這是什么?’(百度也沒有告訴我。),個人感覺上像是試驗田這類東西。
我又去用npm,brew,pip去嘗試
npm 下不下來=。=
brew 里面更新沒反應
pip 這個.....
——后來,后來,后來
var login1 = { "name": "Login.Token1", "value": "15***227", "path": "/", "domain":"baidu.com" //這里! 這里 } if (phantom.addCookie(login1)) { console.log("Cookie_login1 success") } else { console.log("Fail") //............Fail
"domain" 好像不可以加協議(http:// https:// ftp://)【猜測】
不過最后還是Fail
就是這個時候我他媽想起來,
那個....我升級到了v2.1,addcookies怎么老說失敗啊的標題是:
addCookie always returns false in v2.1.1 #14047
用的是——return,return,return......
不是——fail,fail,fail
所以有可能實際上操作成功了,不過返回失敗。
var login1 = { "name": "Login.Token1", "value": "15***227", "path": "/", "domain":"baidu.com" //這里! 這里 } if (phantom.addCookie(login1)) { console.log("Cookie_login1 success") } else { console.log("Fail") cookies = phantom.cookies console.log("Listing cookies:"); for(var i in cookies) { console.log(cookies[i].name + "=" + cookies[i].value); } //............Fail....... //but return sometime! //好日子 好日子 //啦啦啦?(^?^*)
真的是這樣的。
總之就是雖然它返回false,但是實際上操作是成功了的!
【完】
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79588.html
摘要:有一個模塊其中實現了一個。但是感覺靈活性不大。接口如下它會獲得一個實例,你可以在里面進行任意的操作。本部分到此結束。 webmagic有一個selenium模塊,其中實現了一個SeleniumDownloader。但是感覺靈活性不大。所以我就自己參考實現了一個。 首先是WebDriverPool用來管理WebDriver池: import java.util.ArrayList; im...
摘要:還是直接貼代碼說明比較實在。重新調整窗口大小,以適應頁面,需要耗費一定時間。建議等待合理的時間。負責摳圖指定坐標不保持比例,調用進程,返回識別結果。 還是直接貼代碼說明比較實在。感覺webmagic-selenium這個模塊有點雞肋,但還是有可借鑒之處。借鑒它寫了一個SeleniumDownloader,如下: import org.openqa.selenium.By; import...
摘要:使用生成靜態頁,再配置在爬蟲訪問時提供靜態頁中的內容。如何在爬蟲訪問時讓爬蟲獲取到靜態頁中的內容要演練此部分內容,首先你要把網站用部署。 Angular 的優點有很多,但如果用它來開發網站的話,就不得不面對它的兩大缺點: 首頁加載慢 搜索引擎的爬蟲獲取不到頁面內容 由于 Angular 是通過 js 動態生成 dom 并插入到頁面中,搜索引擎默認只能獲得頁面的標題。我們可以使用 c...
摘要:最近在看,打算跟著書中的代碼敲一遍,加深對的理解。在這里記錄過程中的問題與心得。根據排查內存耗盡應該是這個版本的問題,換成后問題消失。因此認為這種寫法是有風險的,必須用頂上那一行注釋表明我確實要全局都的才行。不得不感嘆的嚴謹。 最近在看 build your own angularjs ,打算跟著書中的代碼敲一遍,加深對AngularJS的理解。在這里記錄過程中的問題與心得。 Int...
摘要:變量如果用戶目錄下存在,比如我的,則添加一行否則新建然后在添加上文在中輸入如果可以看到版本號,則安裝成功。 PhantomJS 安裝 showImg(https://segmentfault.com/img/bVL0NY?w=408&h=252); Mac OS X && Windows 1、PhantomJS下載地址 按照系統下載對應的版本, macOS 下載: phantomjs...
閱讀 2994·2021-11-23 09:51
閱讀 2813·2021-11-11 16:55
閱讀 2919·2021-10-14 09:43
閱讀 1399·2021-09-23 11:22
閱讀 1042·2019-08-30 11:04
閱讀 1670·2019-08-29 11:10
閱讀 962·2019-08-27 10:56
閱讀 3111·2019-08-26 12:01