摘要:始終返回錯(cuò)誤也是最近剛接觸打算用來爬一爬學(xué)校的信息門戶海報(bào)因?yàn)閷W(xué)校的海報(bào)有的是文字又有的是圖片,圖片的鏈接也比較奇怪所以希望直接把網(wǎng)頁(yè)的內(nèi)容部分截圖下來,因?yàn)樾枰顷?,所以需要用到??傊褪请m然它返回,但是實(shí)際上操作是成功了的完
Phantomjs v.2.1 addCookie()始終返回錯(cuò)誤
也是最近剛接觸Phantomjs,打算用來爬一爬學(xué)校的信息門戶海報(bào)(因?yàn)閷W(xué)校的海報(bào)有的是文字又有的是圖片,圖片的鏈接也比較奇怪:
my.**.edu.cn/attachmentDownload.portal?xxxxxxxxxxxxx
所以希望直接把網(wǎng)頁(yè)的內(nèi)容部分截圖下來,因?yàn)樾枰顷?,所以需要用到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
可是再實(shí)際用的時(shí)候發(fā)現(xiàn)怎么都不成功,永遠(yuǎn)都是Fail
因?yàn)楦杏X后面的敘述有些啰嗦以及些許的語(yǔ)焉不詳,所以先上結(jié)論:
雖然它返回false,但是實(shí)際上操作是成功了的!
一開始以為是添加的Cookie有問題于是乎我到看到這個(gè)文章phantomjs截圖的實(shí)踐——
雖然他這么說可是官方文件里面沒有這么說——
不過在介紹 "webpage" 類的 ‘a(chǎn)ddCookie’ 的時(shí)候有說明——
好吧,那就弄吧,于是我改成了這樣
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
還是失??!我去怎么回事?。ó?dāng)然有同學(xué)可能已經(jīng)發(fā)現(xiàn)這里的問題了。)
但無論如何......
后來我去Google找(吐槽一下,我本來還以為中國(guó)國(guó)內(nèi)討論技術(shù)的挺多的了,可是去搜phantomjs——少!太少了?。?/p>
于是在phantomjs的github官網(wǎng)上看到了這個(gè)今年三月的issues
那個(gè)....我升級(jí)到了v2.1,addcookies怎么老說失敗啊
——恩,看來是個(gè)bug呢,在這里糾結(jié)了挺長(zhǎng)時(shí)間的我說了一句“窩草”。
額,我英語(yǔ)不太好,帖子后面說"fixed",我就以為已經(jīng)修復(fù)了,于是打算去升級(jí) phantomjs。我再下了一遍官網(wǎng)的版本,可是問題還是在。
我就回帖子去,發(fā)現(xiàn)修復(fù)修復(fù)到了phantomas——‘what!這是什么?’(百度也沒有告訴我。),個(gè)人感覺上像是試驗(yàn)田這類東西。
我又去用npm,brew,pip去嘗試
npm 下不下來=。=
brew 里面更新沒反應(yīng)
pip 這個(gè).....
——后來,后來,后來
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" 好像不可以加協(xié)議(http:// https:// ftp://)【猜測(cè)】
不過最后還是Fail
就是這個(gè)時(shí)候我他媽想起來,
那個(gè)....我升級(jí)到了v2.1,addcookies怎么老說失敗啊的標(biāo)題是:
addCookie always returns false in v2.1.1 #14047
用的是——return,return,return......
不是——fail,fail,fail
所以有可能實(shí)際上操作成功了,不過返回失敗。
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,但是實(shí)際上操作是成功了的!
【完】
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/79588.html
摘要:有一個(gè)模塊其中實(shí)現(xiàn)了一個(gè)。但是感覺靈活性不大。接口如下它會(huì)獲得一個(gè)實(shí)例,你可以在里面進(jìn)行任意的操作。本部分到此結(jié)束。 webmagic有一個(gè)selenium模塊,其中實(shí)現(xiàn)了一個(gè)SeleniumDownloader。但是感覺靈活性不大。所以我就自己參考實(shí)現(xiàn)了一個(gè)。 首先是WebDriverPool用來管理WebDriver池: import java.util.ArrayList; im...
摘要:還是直接貼代碼說明比較實(shí)在。重新調(diào)整窗口大小,以適應(yīng)頁(yè)面,需要耗費(fèi)一定時(shí)間。建議等待合理的時(shí)間。負(fù)責(zé)摳圖指定坐標(biāo)不保持比例,調(diào)用進(jìn)程,返回識(shí)別結(jié)果。 還是直接貼代碼說明比較實(shí)在。感覺webmagic-selenium這個(gè)模塊有點(diǎn)雞肋,但還是有可借鑒之處。借鑒它寫了一個(gè)SeleniumDownloader,如下: import org.openqa.selenium.By; import...
摘要:使用生成靜態(tài)頁(yè),再配置在爬蟲訪問時(shí)提供靜態(tài)頁(yè)中的內(nèi)容。如何在爬蟲訪問時(shí)讓爬蟲獲取到靜態(tài)頁(yè)中的內(nèi)容要演練此部分內(nèi)容,首先你要把網(wǎng)站用部署。 Angular 的優(yōu)點(diǎn)有很多,但如果用它來開發(fā)網(wǎng)站的話,就不得不面對(duì)它的兩大缺點(diǎn): 首頁(yè)加載慢 搜索引擎的爬蟲獲取不到頁(yè)面內(nèi)容 由于 Angular 是通過 js 動(dòng)態(tài)生成 dom 并插入到頁(yè)面中,搜索引擎默認(rèn)只能獲得頁(yè)面的標(biāo)題。我們可以使用 c...
摘要:最近在看,打算跟著書中的代碼敲一遍,加深對(duì)的理解。在這里記錄過程中的問題與心得。根據(jù)排查內(nèi)存耗盡應(yīng)該是這個(gè)版本的問題,換成后問題消失。因此認(rèn)為這種寫法是有風(fēng)險(xiǎn)的,必須用頂上那一行注釋表明我確實(shí)要全局都的才行。不得不感嘆的嚴(yán)謹(jǐn)。 最近在看 build your own angularjs ,打算跟著書中的代碼敲一遍,加深對(duì)AngularJS的理解。在這里記錄過程中的問題與心得。 Int...
摘要:變量如果用戶目錄下存在,比如我的,則添加一行否則新建然后在添加上文在中輸入如果可以看到版本號(hào),則安裝成功。 PhantomJS 安裝 showImg(https://segmentfault.com/img/bVL0NY?w=408&h=252); Mac OS X && Windows 1、PhantomJS下載地址 按照系統(tǒng)下載對(duì)應(yīng)的版本, macOS 下載: phantomjs...
閱讀 2998·2021-11-23 09:51
閱讀 2820·2021-11-11 16:55
閱讀 2935·2021-10-14 09:43
閱讀 1403·2021-09-23 11:22
閱讀 1045·2019-08-30 11:04
閱讀 1674·2019-08-29 11:10
閱讀 970·2019-08-27 10:56
閱讀 3125·2019-08-26 12:01