通过网页查看服务器算法,java分析html算法(java网页蜘蛛算法示例)
遇到复杂而繁琐的html页面大家都望而却步。因为很难获取到相应的数据。
最古老的办法的是尝试用正则表达式,估计那么繁琐的东西得不偿失,浪费我们宝贵的时间。
第二个办法用开源组织htmlparser的包,这个是一个比较老的项目,但是效果估计不是很好,好像不可以深入分析html,只能分析5级的结构;
我这里有个htmlparser的源代码,可以获取所有的超链接的
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package test;
import java.util.HashMap;
import java.util.Map;
import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.tags.LinkTag;
import org.htmlparser.util.NodeList;
public class GetLinkTest {
public static void main(String[] args) {
try {
// 通过过滤器过滤出标签
Parser parser = new Parser("//www.zzvips.com");
NodeList nodeList = parser.extractAllNodesThatMatch(new NodeFilter() {
// 实现该方法,用以过滤标签
public boolean accept(Node node) {
if (node instanceof LinkTag)// 标记
{
return true;
}
return false;
}
});
// 打印
for (int i = 0; i < nodeList.size(); i++) {
LinkTag n = (LinkTag) nodeList.elementAt(i);
//System.out.print(n.getStringText() + " ==>> ");
//System.out.println(n.extractLink());
try {
if (n.extractLink().equals("//www.zzvips.com")) {
System.out.println(n.extractLink());
}
} catch (Exception e) {
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
第三个办法,也是我现在一直在用的办法,首先把html清理为xml,然后用java解析xml获取数据,现在上传一个java clean html的源代码:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package exec;
import java.io.File;
import java.io.IOException;
import org.htmlcleaner.CleanerProperties;
import org.htmlcleaner.HtmlCleaner;
import org.htmlcleaner.PrettyXmlSerializer;
import org.htmlcleaner.TagNode;
/**
*
*/
public class HtmlClean {
public void cleanHtml(String htmlurl, String xmlurl) {
try {
long start = System.currentTimeMillis();
HtmlCleaner cleaner = new HtmlCleaner();
CleanerProperties props = cleaner.getProperties();
props.setUseCdataForScriptAndStyle(true);
props.setRecognizeUnicodeChars(true);
props.setUseEmptyElementTags(true);
props.setAdvancedXmlEscape(true);
props.setTranslateSpecialEntities(true);
props.setBooleanAttributeValues("empty");
TagNode node = cleaner.clean(new File(htmlurl));
System.out.println("vreme:" + (System.currentTimeMillis() - start));
new PrettyXmlSerializer(props).writeXmlToFile(node, xmlurl);
System.out.println("vreme:" + (System.currentTimeMillis() - start));
} catch (IOException e) {
e.printStackTrace();
}
}
}
通过网页查看服务器算法,java分析html算法(java网页蜘蛛算法示例)相关推荐
- 抖音xlog算法 hook分析记录 抖音xlog风控算法 抖音xlog参数分析
1.抖音xlog算法是什么? 与X-Gorgon算法和设备注册服务的不同,他主要是搜集环境信息参数包括一些检测点,组成一个json串然后调用data加密传到服务器进行分析比对.我们抓包可以看到一条ur ...
- 通过网页查看服务器算法,利用17ce自动化监测网站
原标题:利用17ce自动化监测网站 作者:suliuer 1 概述 运维工作中,遇到网络抖动报警或者有用户反馈故障的时候,我们会使用类似17ce这些测速工具诊断一下全国各地访问站点的实际情况.但是,上 ...
- 通过网页查看服务器算法,服务器使用国密(SM2/SM3/SM4)证书,通过浏览器访问
1. Apache + Gmssl Apache 本身不支持国密,需要修改代码支持GMTLS 下载解压: wget http://archive.apache.org/dist/httpd/httpd ...
- 电脑打开网页提示服务器错误是怎么回事,电脑打开网页 http500服务器错误 怎么办?...
http 500内部服务器错误说明IIS服务器无法解析ASP代码,访问一个静态页面试试是否也出现这个问题,如果访问静态页面没问题,那就要分以下几种 情况来分析了: ① 你是否改变过计算机名称. ② 站 ...
- 原谅帽大作战网页版服务器连接失败,原谅帽大作战网页PC版
当你在生活中遇到不如意,不妨来这款游戏中发泄一下,<原谅帽大作战网页版>又称绿帽大作战,十分生动形象的表现了最近网上火爆的这个梗,与其选择原谅她,给别人丢绿帽子当然爽的起飞了,游戏在线即玩 ...
- 37镇魔曲网页版服务器状态,37《镇魔曲网页版》官网正式上线
<镇魔曲>是以架空世界观为背景的"第三代战斗网游",其全职业全技能无锁定战斗,目的是为带给玩家化繁为简的"沉浸式"战斗体验,同时高智商怪物对抗和多维 ...
- java 分析excel模板,java 根据excel模板导出excel
java 根据excel模板导出excel 由于项目需求,最近做了一个需要根据查询接口导出excel表格数据的需求 pom依赖: org.apache.poi poi 3.16 org.apache. ...
- 【算法设计与分析】排序算法性能分析
github:项目地址 一.实验目的 掌握选择排序.冒泡排序.合并排序.快速排序.插入排序算法原理 掌握不同排序算法时间效率的经验分析方法,验证理论分析与经验分析的一致性. 二.实验概述 排序问题要求 ...
- JAVA分析html算法(JAVA网页蜘蛛算法)
近来有些朋友在做蜘蛛算法,或者在网页上面做深度的数据挖掘.但是遇到复杂而繁琐的html页面大家都望而却步.因为很难获取到相应的数据. 最古老的办法的是尝试用正则表达式,估计那么繁琐的东西得不偿失,浪费 ...
最新文章
- linux谁动了我的服务器,linux系统监控之谁动了我的服务器?
- java中capitals,Java GlobalConfiguration.isCapitalMode方法代码示例
- Vue 跨平台性能优化十法
- PHP 备份还原 MySql 数据库
- Fleet究竟是什么?为什么最近这么火~
- android shape 按钮背景_Android UI:XML文件配置按钮等背景方案
- C#正则表达式小结 - z
- 优先体验重播matlab_如何为深度Q网络实施优先体验重播
- dotnet OpenXML PPT 动画框架入门
- 大话设计模式——解释器模式
- android 图片浏览 app 排行版,安卓图片浏览软件哪个好_安卓图片浏览app推荐_图片浏览app软件排行...
- animation之补间动画
- 一本书读懂财报 | 现金流量表剖析
- matlab求两向量夹角_高考数学解题技巧:专题21 平面向量中最值、范围问题高中数学黄金解题模板...
- Android-模块化-面向接口编程深度解析,值得收藏
- SSLOJ 1459.空间简单度【扫描线】【线段树】
- 微信小程序抽奖插件分享
- 阿里、华为、腾讯的“第二曲线”,大厂云们的成败得失如何评价?
- gensim LDA模型提取每篇文档所属主题(概率最大主题所在)
- tuned-adm性能优化的配置文件详解
热门文章
- Codeforces Round #614 (Div. 2) D. Aroma‘s Search 暴力 + 思维
- P2371 [国家集训队]墨墨的等式 同余最短路
- 【CF1020C】Election【贪心】
- 数论三之组合数学Ⅰ-Max-Min Sums,Binomial Coefficient is Fun,Strivore,Bubble Sort,放棋子,LOJ6671,Iroha and a Grid
- [LOJ]体育成绩统计 / Score (无脑模拟,没有脑子,就是上!)
- P3642 [APIO2016]烟火表演(左偏树、函数)
- YBTOJ洛谷P3195:玩具装箱(斜率优化dp)
- YbtOJ#482-爬上山顶【凸壳,链表】
- P2831-愤怒的小鸟【状压dp】
- jzoj3888-正确答案【字符串hash,dfs】