SeimiAgent
SeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务,可以通过SeimiAgent提供的http接口向SeimiAgent发送一个load请求(需求加载的URL以及对这个页面接受的渲染时间或是使用什么代理等参数),通过SeimiAgent去加载并渲染想要处理的动态页面,然后将渲染好的页面直接返给调用方进行后续处理。SeimiAgent的加载渲染环境都是通用浏览器级的,所以不用担心他对动态页面的处理能力。目前SeimiAgent只支持返回渲染好的HTML文档,后续会增加图像快照已经PDF的支持,方便更为多样化的使用需求。
下载
目前暂时只支持下面这两个平台的二进制版本的维护更新,其他平台暂时需要自行编译构建
-
Centos6 x64
-
ubuntu x64
-
window7 x64体验包
快速开始
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 )

公众号网页更新缓存,这玩意儿,说简单也简单,说复杂也够你喝一壶的。你辛辛苦苦更新了公众号文章,结果用户打开还是老版本,这滋味,谁受得了?这篇文章,咱就来扒一扒这背后的弯弯绕绕,以及如何优雅地解决这个问题。读完之后,你就能轻松应对各种缓存难题,让你的用户始终体验到最新鲜的内容。先说点基础的。网页缓存,说白了就是浏览器或者服务器为了提高访问速度,把一些静态资源(比如图片、CSS、JS)或者页面内容存储起来。下次访问时,直接从缓存里取,不用再重新下载,速度自然快。但这玩意儿,也是个双刃剑。新版本上线,

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文展示了使用CSS为网页中添加有效的PNG边框。 它认为,与JavaScript或库相比,CSS提供了出色的性能,详细介绍了如何调整边界宽度,样式和颜色以获得微妙或突出的效果

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

本文解释了HTML5< time>语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3汉化版
中文版,非常好用

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)