SeimiAgent是基于QtWebkit開發(fā)的可在服務(wù)器端后臺(tái)運(yùn)行的一個(gè)webkit服務(wù),可以通過SeimiAgent提供的http接口向SeimiAgent發(fā)送一個(gè)load請(qǐng)求(需求加載的URL以及對(duì)這個(gè)頁(yè)面接受的渲染時(shí)間或是使用什么代理等參數(shù)),通過SeimiAgent去加載并渲染想要處理的動(dòng)態(tài)頁(yè)面,然后將渲染好的頁(yè)面直接返給調(diào)用方進(jìn)行后續(xù)處理。SeimiAgent的加載渲染環(huán)境都是通用瀏覽器級(jí)的,所以不用擔(dān)心他對(duì)動(dòng)態(tài)頁(yè)面的處理能力。目前SeimiAgent只支持返回渲染好的HTML文檔,后續(xù)會(huì)增加圖像快照已經(jīng)PDF的支持,方便更為多樣化的使用需求。
目前暫時(shí)只支持下面這兩個(gè)平臺(tái)的二進(jìn)制版本的維護(hù)更新,其他平臺(tái)暫時(shí)需要自行編譯構(gòu)建
Centos6 x64
ubuntu x64
window7 x64體驗(yàn)包
cd /dir/of/seimiAgent./SeimiAgent -p 8000
執(zhí)行命令后,SeimiAgent會(huì)起一個(gè)http服務(wù)并監(jiān)聽你所指定的端口,如例子中的8000端口,然后你就可以通過任何一種你熟悉的語(yǔ)言像SeimiAgent發(fā)送一個(gè)頁(yè)面的加載渲染請(qǐng)求,并得到SeimiAgent渲染好的HTML文檔進(jìn)行后續(xù)處理。
僅支持post請(qǐng)求,請(qǐng)求地址/doload
url 目標(biāo)請(qǐng)求地址,必填項(xiàng)
renderTime 在所有資源都加載好了以后留給SeimiAgent去渲染處理的時(shí)間,如果是很復(fù)雜的動(dòng)態(tài)頁(yè)面這個(gè)時(shí)間可能就需要長(zhǎng)一些,具體根據(jù)使用情況進(jìn)行調(diào)整。非必填,單位為毫秒
proxy 告訴SeimiAgent使用什么代理,非必填,格式:http|https|socket://user:passwd@host:port
postParam 這個(gè)參數(shù)只接受Json格式的值,值的形式為key-value對(duì),告訴SeimiAgent此次請(qǐng)求為post并使用你給定的參數(shù)。
useCookie 是否使用cookie,如果設(shè)置為1則為使用cookie
這個(gè)過程會(huì)花費(fèi)很長(zhǎng)時(shí)間如果你覺著很有必要的話,一般情況下更推薦使用發(fā)布好的二進(jìn)制可執(zhí)行文件
ubuntu上
sudo apt-get install build-essential g++ flex bison gperf ruby perl libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev libpng-dev libjpeg-dev python libx11-dev libxext-dev
centos上
yum -y install gcc gcc-c++ make flex bison gperf ruby openssl-devel freetype-devel fontconfig-devel libicu-devel sqlite-devel libpng-devel libjpeg-devel
python build.py
接下來就等吧,國(guó)內(nèi)網(wǎng)絡(luò)不好可能還要重來(因?yàn)樾枰葟膅ithub上下載qtbase和qtwebkit這兩個(gè)依賴,后續(xù)如果有時(shí)間會(huì)把qtbase和qtwebkit拷到國(guó)內(nèi)倉(cāng)庫(kù)一份),4核I5大概半個(gè)小時(shí)以上,單核云主機(jī)一般2個(gè)小時(shí)左右,16核以上服務(wù)器編譯一般在十分鐘以內(nèi)
更多文檔還在準(zhǔn)備中,感謝大家支持Seimi家族( SeimiCrawler , SeimiAgent )
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com