KPBroswer是一个基于QtWebKit的最小化浏览器程序,通过被第三方程序调用,能实现对复杂页面加载后数据(例如,复杂Ajax、数据加密)的抓取,支持屏幕截图。KP是“鲲鹏”二字的拼音首字母。适用场景: 页面数据动态加载(例如,Ajax过程过于复杂,分析成本太高); 数据加密(客户端JS解密,解密算法难以获取或难以用其它语言实现); 屏幕截图; 跨平台的抓取方案;依赖库:PyQt4Ubutu下安装方法:sudoapt-getistallpytho-qt4Widows下安装方法:在这里下载二进制安装包直接安装https://www.riverbakcomputig.co.uk/software/pyqt/dowload/调用方法:若在Liux终端下运行,需要安装Xvfb。Ubutu下安装方法:apt-getistallxvfbxfots-basexfots-75dpixfots-100dpixfots-wqy调用举例(Liux):xvfb-rupythoKPBroswer.pyhttps://www.site-digger.com--flags=redice--output="page.html"--screeshot="sitedigger.jpg"调用举例(Widows):pythoKPBroswer.pyhttps://www.site-digger.com--flags=redice--output="page.html"--screeshot="sitedigger.jpg"Usage:KPBroswer.py [optios]Optios: -h,--help showthishelpmessageadexit -pPROXY,--proxy=PROXY Proxytouse. -tTIMEOUT,--timeout=TIMEOUT Thetimeouttimeofloadigpage. -fFLAGS,--flags=FLAGS Flagseedtowaitfor.Semicolocabeusedasa eperator. -wWAIT_TIMEOUT,--wait_timeout=WAIT_TIMEOUT Thetimeouttimeofwaittigforflags. -g,--gui WhethertoshowthebroswerGUI. -oOUTPUT,--output=OUTPUT Theoutputfileame. -sSCREENSHOT,--screeshot=SCREENSHOT Ifthevalueisotempty,takeascreeshotadsave ithere.注意:Liux下不要忘记安装相关字体库,否则截图中的汉字将会是乱码,如下图site-digger-fot-problem.jpg所示。安装后,就正常了,如图site-digger.jpg所示。示例:sample.py文件为一个Pytho以外部程序方式调用KPBroswer.py的示例,其它语言的调用可以参考其实现。
点击空白处退出提示







评论