2019独角兽企业重金招聘Python工程师标准>>>

原文作者:西安鲲之鹏

原文链接:http://www.site-digger.com/html/articles/20130812/68.html

关于KPBroswer:

KPBroswer是一个基于QtWebKit的最小化浏览器程序,通过被第三方程序调用,
能实现对复杂页面加载后数据(例如,复杂Ajax、数据加密)的抓取,支持屏幕截图。
KP是“鲲鹏”二字的拼音首字母。
项目主页:
https://bitbucket.org/qi/kpbroswer/
适用场景:
页面数据动态加载(例如,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 <URL> [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的示例,其它语言的调用可以参考其实现。
特别说明:该文章为西安鲲之鹏的原创文章 ,你除了可以发表评论外,还可以转载到你的网站或博客,但是请保留源地址,谢谢!!(尊重他人劳动,你我共同努力)

转载于:https://my.oschina.net/webscraping/blog/531907

鲲鹏数据开源库python_google_translator介绍相关推荐

  1. [转]Facebook的c++开源库folly介绍

    揭秘Facebook官方底层C++函数Folly Facebook近日公布了其官方底层C++函数Folly,Folly(该缩略语表示Facebook开源代码库)其实是C++11组件库,这些组件在设计时 ...

  2. 博弈论 ai 大数据开源库_需要进化:博弈论与人工智能

    博弈论 ai 大数据开源库 by Elena Nisioti 由Elena Nisioti 需要进化:博弈论与人工智能 (In need of evolution: game theory and A ...

  3. 软件经验|GDAL空间数据开源库开发介绍

    GDAL(Geospatial Data Abstraction Library)是使用C/C++语言编写的用于读写空间数据的一套跨平台开源库.GDAL库可以读取.写入.转换.处理各种栅格数据格式,它 ...

  4. C++开源库详细介绍

    C++在"商业应用"方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年.因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用.当Java横行天下之后,MS又 ...

  5. Go开源库Excelize介绍,电子Excel表格操作强大的库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准. 项目作者是续 日,现任阿里巴巴软件工程师,曾就职百 ...

  6. python pyecharts_基于Python的数据可视化库pyecharts介绍

    什么是pyecharts? pyecharts 是一个用于生成 Echarts 图表的类库. echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化.pyecharts 是一个用于生 ...

  7. python 3d大数据可视化_基于Python的数据可视化库pyecharts介绍

    什么是pyecharts? pyecharts 是一个用于生成 Echarts 图表的类库. echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化.pyecharts 是一个用于生 ...

  8. Facebook的c++开源库folly介绍

    folly在Facebook内部广泛使用的一个c++库,是开源的,github地址: https://github.com/facebook/folly 之前的boost库给我们带来了很多方便,比如智 ...

  9. 开源库BearSSL介绍及使用

    BearSSL是用C语言实现的SSL/TLS协议,它的源码可直接通过git clone https://www.bearssl.org/git/BearSSL 下载,它的license是MIT,最新版 ...

最新文章

  1. ASP.NET MVC 学习6、学习使用Code First Migrations功能,把Model的更新同步到DB中
  2. Matlab稀疏矩阵
  3. ITK:使用曲率流平滑图像
  4. 华为阅读下载的文件在哪里找_华为手机还要天天清理内存?1键关闭这2个设置,手机用到2035年...
  5. Python爬取Boss直聘,帮你获取全国各类职业薪酬榜
  6. C++ 构造函数与析构函数
  7. ORA-01092解决一例
  8. android图像与动画处理,在Android和iPhone上对照片进行动画处理的7种最佳应用 | MOS86...
  9. Android UI 相关知识
  10. Java 并发编程的艺术
  11. 计算机病毒的基本结构
  12. 声纹识别(说话人识别)技术
  13. 优酷网视频播放器站外调用详解
  14. “喜报云报销”荣获中国金软件移动互联网领域最具应用价值解决方案奖
  15. Rotten Tomatoes 电影数据分析
  16. NodeJS简介-node.js是什么?
  17. Android AudioFocus机制小结
  18. 助力游戏连接现实,LBS让游戏岂止于“玩”
  19. php对接AliGenie天猫精灵服务器控制智能硬件esp8266③ 渗入熟悉AliGenie 对接协议,揭开第三方云平台是如何让天猫精灵是发送消息到私有服务器的!
  20. 士兵队列训练问题 (HDU - 1276)

热门文章

  1. Console.WriteLine()与MessageBox.Show()的区别
  2. JQuery中ajax方法访问web服务
  3. Server Application Unavailable
  4. Erlang和Ruby的Socket通讯
  5. 虚幻gameframe_【虚幻4】从0开始的Galgame开发框架(2)--MainManager
  6. 【Latext】上标下标 ( 右侧上标下标 | 任意字符的正上标记 | 任意字符的正下标记 | 常用数学符号的上标和下标 | 加和 | 乘积 | 交集 | 并集 | 上积 | 极限 | 上弧 )
  7. 【Android 逆向】ART 脱壳 ( dex2oat 脱壳 | aosp 中搜索 dex2oat 源码 | dex2oat.cc#main 主函数源码 )
  8. 【Java 虚拟机原理】Android 类加载机制 ( 双亲委派机制 | BootClassLoader | PathClassLoader | DexClassLoader )
  9. 【Flutter】Flutter 自定义字体 ( 下载 TTF 字体 | pubspec.yaml 配置字体资源 | 同步资源 | 全局应用字体 | 局部应用字体 )
  10. 【Android 安全】DEX 加密 ( Java 工具开发 | apk 文件签名 )