KPBroswer 最小化浏览器程序

程序名称:KPBroswer

授权协议: GPL

操作系统: 跨平台

开发语言: Python

KPBroswer 介绍

KPbroswer是一个基于QtWebKit的最小化浏览器程序,通过被第三方程序调用
能实现对复杂页面加载后数据(例如,复杂Ajax、数据加密)的抓取,支持屏幕截图。
KP是“鲲鹏”二字的拼音首字母。

适用场景:

页面数据动态加载(例如,Ajax过程过于复杂,分析成本太高);
数据加密(客户端JS解密,解密算法难以获取或难以用其它语言实现);
屏幕截图;
跨平台的抓取方案;

依赖库:

PyQt4
Ubuntu下安装方法:sudo apt-get install python-qt4
Windows下安装方法在这里下载二进制安装包直接安装http://www.riverbankcomputing.co.uk/software/pyqt/download/

调用方法

若在Linux终端下运行,需要安装Xvfb。Ubuntu下安装方法:apt-get install xvfb xfonts-base
xfonts-75dpi xfonts-100dpi xfonts-wqy
调用举例(Linux):xvfb-run python KPbroswer.py http://www.site-digger.com
–flags=redice –output=”page.html” –screenshot=”sitedigger.jpg”
调用举例(Windows):python KPbroswer.py http://www.site-digger.com –flags=redice
–output=”page.html” –screenshot=”sitedigger.jpg”

Usage: KPbroswer.py [options]

Options:
-h, –help show this help message and exit
-p PROXY, –proxy=PROXY
Proxy to use.
-t TIMEOUT, –timeout=TIMEOUT
The timeout time of loading page.
-f FLAGS, –flags=FLAGS
Flags need to wait for. Semicolon can be used as a
eperator.
-w WAIT_TIMEOUT, –wait_timeout=WAIT_TIMEOUT
The timeout time of waitting for flags.
-g, –gui Whether to show the broswer GUI.
-o OUTPUT, –output=OUTPUT
The output filename.
-s SCREENSHOT, –screenshot=SCREENSHOT
If the value is not empty, take a screenshot and save
it here.

注意:
Linux下不要忘记安装相关字体库,否则截图中的汉字将会是乱码,如下图site-digger-font-problem.jpg所示。

安装后,就正常了,如图site-digger.jpg所示。

示例:
sample.py文件一个Python以外部程序方式调用KPbroswer.py的示例,其它语言的调用可以参考其实现。

KPBroswer 官网

https://bitbucket.org/qi/kpbroswer/overview

相关编程语言

BlazeDS 是一个基于服务器的Java 远程控制(remoting...
OVal 是一个可扩展的Java对象数据验证框架,验证的规...
Volta 是一套开发工具,专为开发分布式、实时系统应...
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG...
JADE (Java Agent DEvelopment Framework) 是一个完...
FastMM ,在D2006和2007中已代替了原来的内存管理器。