使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用
如果你曾经开发过内容聚合类网站的话,使用程序动态整合来自不同页面或者网站内容的功能肯定对于你来说非常熟悉。通常使用java的话,我们都会使用到一些HTML的解析,例如,httpparser,最早gbin1.com的整合搜索就是使用httpparser来抓取Google和Baidu的搜索结果,并且整合呈现给搜索用户,这也就是GBin1域名的由来。
那么今天呢,我们介绍另外一个超棒的Java的HTML解析器 - jsoup,这个类库可以帮助大家实时的处理HTML。提供了非常方便的API来提取和处理数据,最重要的它使用类似jQuery的语法来处理DOM,CSS等,如果你使用过jQuery的话,就知道它处理DOM的强大方便之处。
主要特性
jsoup实现了WHATWG HTML5 的标准,和现代浏览器解析DOM的方式一样。主要功能:
- 可以从URL,文件或者字符串中抓取和解析HTML
- 使用DOM的查询和CSS选择器来查找和解压数据
- 可以处理HTML的属性,元素和文本
- 帮助用户处理递交的内容,并且防止XSS攻击
- 输出干净的HTML
基本上jsoup可以帮助你处理各种的HTML问题,并且帮助你验证非法的tag,创建一个干净的DOM树。
我们需要设置抓取的url和页面元素,这里缺省是http://www.gbin1.com/portfolio/lastest.html ,元素为.includeitem,点击开始抓取,可以看到应用抓取如下内容:
注意这里缺省间隔时间为30秒,30秒后会自动重新抓取内容。
你可以尝试抓取weibo.com, 元素.itemt, 间隔时间10秒,能得到如下内容:
你可以看到和微博首页的自动刷新内容一样。
大家可以把这个工具当做页面重复刷新工具,可以帮助你监控某个网站某个部分内容,当然,你也可以使用它来动态刷新你的网站,提高你的alexa排名。
希望大家喜欢这个工具应用,如果你有任何建议和问题,请给我们留言!谢谢!
原文请参考:http://www.gbin1.com/technology/javautilities/20120720jsoupjquerysnatchpage
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架