博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java动态爬虫jsoup以及正则表达式的运用
阅读量:4589 次
发布时间:2019-06-09

本文共 1447 字,大约阅读时间需要 4 分钟。

1.jsoup是java的HTML解析器,可直接解析某个URL地址,HTML文本内容。http://jsoup.org/官网

2.解析URL地址

1  Document doc = Jsoup2                     .connect(url)3                     .userAgent(4                             "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0)") // 设置User-Agent5                     .timeout(5000) // 设置连接超时时间6                     .get();
View Code

 

1 Elements elements = doc.getElementsByClass("desc"); 2 Elements subelements = elements.get(0).getElementsByTag("li"); 3  Elements dayElements = eachDayElement.getElementsByTag("tr"); 4  Elements firstSubElements = firstElement.getElementsByTag("td"); 5 String text = elements.get(0).text(); 6 private static String regEx_publishDate = "由中央气象台\\s*(\\d+):(\\d+)\\s*发布的"; 7     private static Pattern pattern_publishDate = Pattern 8             .compile(regEx_publishDate); 9 Matcher matcher = pattern_publishDate.matcher(text);10 if (matcher.find()) {11             int hour = Integer.parseInt(matcher.group(1));12             int minute = Integer.parseInt(matcher.group(2));}
View Code

3.要有jsoup的jar包

4. \s 匹配任意的空白符 \S匹配任意不是空白符的字符  \d匹配数字 +重复一次或更多次  * 重复零次或更多次

demo:

1 (\\d{4})-(\\d{2})-(\\d{2})\\s+(\\d{2}):(\\d{2})发布2 (\\S+过敏\\S+):\\s+(\\S+)\\s+(\\S+)3 \\s+(感冒\\S+):\\s+(\\S+)\\s+(\\S+)4 \\s*(\\S+)\\s*5 首要污染物:\\s*(\\S+)\\s*"
View Code

正则表达式语法:

https://msdn.microsoft.com/zh-cn/library/ae5bf541%28v=vs.80%29.aspx

转载于:https://www.cnblogs.com/dobestself-994395/p/4610303.html

你可能感兴趣的文章
Javascript中this关键字
查看>>
微信静默授权
查看>>
Spring MVC框架初步讲解
查看>>
关于dl dt dd 文字过长换行在移动端显示对齐的探讨总结
查看>>
C#线程安全打开/保存文件对话框
查看>>
201555334 实验一:Java开发环境的熟悉 总结
查看>>
docker系列 --- 命令详解
查看>>
观察者模式 -- 设计模式系列文章(二)
查看>>
MySql学习14-----数据备份和恢复
查看>>
页面小标签
查看>>
卷积分
查看>>
Asp.Net MVC Filter权限过滤使用说明
查看>>
一次群体code review
查看>>
python-虚拟环境搭建
查看>>
How does exercise keep your brain young?
查看>>
[Linux] 添加环境变量
查看>>
postgresql逻辑结构--表空间(四)
查看>>
rsync备份服务器搭建学习笔记
查看>>
Python中matplotlib模块解析
查看>>
ORA-14551: 无法在查询中执行 DML 操作 .
查看>>