SeimiAgent 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
SeimiAgent 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
SeimiAgent 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

SeimiAgent

SeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务,可以通过SeimiAgent提供的http接口向SeimiAgent发送一个load请求(需求加载的URL以及对这个页面接受的渲染时间或是使用什么代理等参数),通过SeimiAgent去加载并渲染想要处理的动态页面,然后将渲染好的页面直接返给调用方进行后续处理。SeimiAgent的加载渲染环境都是通用浏览器级的,所以不用担心他对动态页面的处理能力。目前SeimiAgent只支持返回渲染好的HTML文档,后续会增加图像快照已经PDF的支持,方便更为多样化的使用需求。


下载

目前暂时只支持下面这两个平台的二进制版本的维护更新,其他平台暂时需要自行编译构建


快速开始

cd /dir/of/seimiAgent
./SeimiAgent -p 8000

执行命令后,SeimiAgent会起一个http服务并监听你所指定的端口,如例子中的8000端口,然后你就可以通过任何一种你熟悉的语言像SeimiAgent发送一个页面的加载渲染请求,并得到SeimiAgent渲染好的HTML文档进行后续处理。


示例


支持的http参数

仅支持post请求,请求地址/doload

  • url 目标请求地址,必填项

  • renderTime 在所有资源都加载好了以后留给SeimiAgent去渲染处理的时间,如果是很复杂的动态页面这个时间可能就需要长一些,具体根据使用情况进行调整。非必填,单位为毫秒

  • proxy 告诉SeimiAgent使用什么代理,非必填,格式:http|https|socket://user:passwd@host:port

  • postParam 这个参数只接受Json格式的值,值的形式为key-value对,告诉SeimiAgent此次请求为post并使用你给定的参数。

  • useCookie 是否使用cookie,如果设置为1则为使用cookie


如何构建

这个过程会花费很长时间如果你觉着很有必要的话,一般情况下更推荐使用发布好的二进制可执行文件


依赖

  • 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

接下来就等吧,国内网络不好可能还要重来(因为需要先从github上下载qtbase和qtwebkit这两个依赖,后续如果有时间会把qtbase和qtwebkit拷到国内仓库一份),4核I5大概半个小时以上,单核云主机一般2个小时左右,16核以上服务器编译一般在十分钟以内


More

更多文档还在准备中,感谢大家支持Seimi家族(SeimiCrawler,SeimiAgent)

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (5)

加载中
运行 ./SeimiAgent 报 libwebp.so.5 类库找不到!!! 安装了几个libwebp的版本都不行 求救!!!!
2017/05/24 14:38
回复
举报
webkithtml2pdf #SeimiAgent#
2016/04/16 08:47
回复
举报
PhantomJS? #SeimiAgent#
2016/04/16 14:03
回复
举报
无极小子软件作者
数据抓取场景中的使用可以参考:http://my.oschina.net/u/589889/blog/660952 #SeimiAgent#
2016/04/17 09:31
回复
举报
更多评论
发表了资讯
2016/09/19 00:00

SeimiAgent v1.3.1,运行于服务器的 webkit 服务

变更日志 v1.3.1 可以通过resourceTimeout这个参数设置资源请求拉取的超时时间,默认为20s。资源拉取指为渲染页面所需拉取的js、css以及图片等资源。 优化代码 SeimiAgent简介 SeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务,可以通过SeimiAgent提供的http接口向SeimiAgent发送一个load请求(需求加载的URL以及对这个页面接受的渲染时间或是使用什么代理等参数),通过SeimiAgent去加载并渲染想要处理的...

11
37
发表了资讯
2016/08/10 00:00

SeimiAgent v1.3.0 发布,运行于服务器的 webkit 服务

SeimiAgent v1.3.0 发布了。 变更日志v1.3.0 可以通过 ua 这个参数自定义你的UserAgent,使SeimiAgent更难以被追踪,默认的UA同Chrome 调整代码使系统更为健壮 支持release版本编译时去除debug日志 SeimiAgent简介 SeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务,可以通过SeimiAgent提供的http接口向SeimiAgent发送一个load请求(需求加载的URL以及对这个页面接受的渲染时间或是使用什么代理等参数),通...

7
34
发表了资讯
2016/06/22 00:00

SeimiAgent v1.2.0 发布,动态页面渲染服务器

SeimiAgent v1.2.0 发布了, SeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务,可以通过SeimiAgent提供的http接口向SeimiAgent发送一个load请求(需求加载的URL以及对这个页面接受的渲染时间或是使用什么代理等参数),通过SeimiAgent去加载并渲染想要处理的动态页面,然后将渲染好的页面直接返给调用方进行后续处理,所以运行的SeimiAgent服务是与语言无关的,任何一种语言或框架都可以通过SeimiAgent提供...

0
18
发表了资讯
2016/05/14 00:00

动态网页渲染服务器 SeimiAgent V1.1 发布

简介 SeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务,可以通过SeimiAgent提供的http接口向SeimiAgent发送一个load请求(需求加载的URL以及对这个页面接受的渲染时间或是使用什么代理等参数),通过SeimiAgent去加载并渲染想要处理的动态页面,然后将渲染好的页面直接返给调用方进行后续处理,所以运行的SeimiAgent服务是与语言无关的,任何一种语言或框架都可以通过SeimiAgent提供的标准http接口来获取服...

4
25
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于服务端专区
2018/06/25 00:10

SeimiCrawler 2.0版本变动介绍

- 完美支持SpringBoot,可以尽情的集成SpringBoot现有生态,[demo参考](https://github.com/zhegexiaohuozi/SeimiCrawler/tree/master/spring-boot-example) - 回调函数支持方法引用,设置起来更自然 ``` push(Request.build(s.toString(),Basic::getTitle)); ``` - 非SpringBoot模式全局配置项通过`SeimiConfig`进行配置,包括 Redis集群信息,SeimiAgent信息等,SpringBoot模式则通过SpringBoot标准模式配置 常规模式: ``` ...

0
0
2016/07/28 00:29

Seimi基础系列2-SeimiCrawler整合Mybatis存储数据

最近关注SeimiCrawler整合Mybatis的朋友比较多,故仅以此文抛砖引玉。如果是不了解[SeimiCrawler](https://github.com/zhegexiaohuozi/SeimiCrawler)的朋友也可以通过此文简单了解下[SeimiCrawler](http://seimicrawler.org/)。 ## SeimiCrawler简介 ## SeimiCrawler是一个敏捷的,独立部署的,支持分布式的Java爬虫框架,希望能在最大程度上降低新手开发一个可用性高且性能不差的爬虫系统的门槛,以及提升开发爬虫系统的开发效...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
5 评论
117 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部