当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

KPBroswer

最小化浏览器程序
授权协议 GPL
开发语言 Python
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 国产
投 递 者 唐兴发
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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的示例,其它语言的调用可以参考其实现。

 相关资料
  • 问题内容: 有没有办法在所有浏览器中手动设置浏览器窗口的最小大小? 问题答案: 你可以试试 一旦视口小于600像素,您将获得一个水平滚动条。这仅适用于支持最小宽度CSS属性的现代浏览器。 我认为不可能限制用户的大小调整,也不应该!

  • 我正试图通过C#最小化Microsoft Edge浏览器。除了微软Edge之外,其他浏览器如Chrome、Firefox、Internet Explorer都运行良好。 有人能帮帮我吗。

  • 问题内容: 有谁知道用于程序化Web浏览的Java库吗? Prowser不会削减它,因为没有“按下按钮”方法,Watij仅限于Internet Explorer Windows。 问题答案: htmlunit? http://htmlunit.sourceforge.net/ 上面的链接说: … HtmlUnit不是通用的单元测试框架。这是一种专门模拟浏览器以进行测试的方式…

  • 问题内容: 我只是从Java小程序开始,然后发现了这个提供教程的网站。我输入了所有代码,但该小程序未显示在我的浏览器中:HelloWorld.java 这是我的HTML文件 我已经编译了Java文件(HelloWorld.class),并将所有文件保存在桌面上。我在Mac OS X美洲狮上使用的是野生动物园的最新版本。我在谷歌浏览器中尝试过,并说要安装一个插件,但是我没有做任何事情? 问题答案:

  • 好吧,我知道有很多关于这个的问题和答案,但我真的没有任何运气。我有一个多类、多包程序,它也使用一些外部库(作为jar文件)。我也将我的项目导出为jar文件,下面是我的“index.html”,它引用了必要的库和我的jar文件。所有这些文件都放在同一个目录中,我可以在我的网页上看到小程序:http://easlnx01.eas.muohio.edu/~whitetc2/Twitter挖掘2/ 我的主

  • 我想在Android上使用Appium来自动化下面的场景 首先在Chrome中打开一个网页。网页包含注册表单 填写表单,然后单击提交按钮 提交按钮通过uri打开我的本机应用程序(与我们通过点击链接市场打开Google Play的行为相同://...) 最后与应用程序交互 我可以为第1到3步实现自动化,但在第4步就失败了。 这对Appium有可能吗?有没有其他测试框架可以自动化这样的场景?