最近服务器要过期了,操作系统版本也太低了,包管理官方都不维护了,是时候重新折腾下了。便于日后同样的迁移场景,博客系统做了如下改动:

  • 基于php5.6+fpm构建了一个自定义docker镜像,并可以完美跑现有的老blog的源码,以后迁移就方便了。(PHP版本只能用5.X的,新版PHP的MySQL连接方式改变了,老代码没法跑)
  • 站点顺便全部https化,顺应时代
  • typecho 从0.9升级到1.2(基于7.4-fpm-alpine3.14官方镜像构建自定义镜像),升级过程略曲折

简介

JsoupXpath 是一款纯Java开发的使用xpath解析提取html数据的解析器,针对html解析完全重新实现了W3C XPATH 1.0标准语法,xpath的Lexer和Parser基于Antlr4构建,html的DOM树生成采用Jsoup,故命名为JsoupXpath.
为了在java里也享受xpath的强大与方便但又苦于找不到一款足够好用的xpath解析器,故开发了JsoupXpath。JsoupXpath的实现逻辑清晰,扩展方便,
支持完备的W3C XPATH 1.0标准语法,W3C规范:http://www.w3.org/TR/1999/REC-xpath-19991116 ,JsoupXpath语法描述文件Xpath.g4

Change Log

https://github.com/zhegexiaohuozi/JsoupXpath/releases

- 阅读剩余部分 -

声明

本篇文章纯粹为了向还不是很了解SeimiAgent的同学演示下SeimiAgent的部分能力,目标网站随意选的,并没有其他目的。

SeimiAgent简介

SeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务,可以通过SeimiAgent提供的http接口向SeimiAgent发送一个load请求(需求加载的URL以及对这个页面接受的渲染时间或是使用什么代理等参数),通过SeimiAgent去加载并渲染想要处理的动态页面,然后将渲染好的页面直接返给调用方进行后续处理,所以运行的SeimiAgent服务是与语言无关的,任何一种语言或框架都可以通过SeimiAgent提供的标准http接口来获取服务。SeimiAgent的加载渲染环境都是通用浏览器级的,所以不用担心他对动态页面的处理能力。同时支持渲染生成页面快照(png)和PDF,亦支持自定义js脚本处理基本渲染后的页面,具体请参见官方使用说明。

正文

视频分享

为了更为直观的了解,可以先看下分享在优酷上视频,点击地址直达

下面会是图片版的详细介绍

- 阅读剩余部分 -

最近关注SeimiCrawler整合Mybatis的朋友比较多,故仅以此文抛砖引玉。如果是不了解SeimiCrawler的朋友也可以通过此文简单了解下SeimiCrawler

SeimiCrawler简介

SeimiCrawler是一个敏捷的,独立部署的,支持分布式的Java爬虫框架,希望能在最大程度上降低新手开发一个可用性高且性能不差的爬虫系统的门槛,以及提升开发爬虫系统的开发效率。在SeimiCrawler的世界里,绝大多数人只需关心去写抓取的业务逻辑就够了,其余的Seimi帮你搞定。设计思想上SeimiCrawler受Python的爬虫框架Scrapy启发,同时融合了Java语言本身特点与Spring的特性,并希望在国内更方便且普遍的使用更有效率的XPath解析HTML,所以SeimiCrawler默认的HTML解析器是JsoupXpath(独立扩展项目,非jsoup自带),默认解析提取HTML数据工作均使用XPath来完成(当然,数据处理亦可以自行选择其他解析器)。并结合SeimiAgent彻底完美解决复杂动态页面渲染抓取问题。

- 阅读剩余部分 -