【爬虫工具方法】根据属性得到一条HTML标签的一个属性值
来源:互联网 发布:java怎么运行 编辑:程序博客网 时间:2024/06/06 11:46
工具方法:
public static String getValueByKeyInHtml(String src, String key) { Pattern pattern = Pattern.compile("(?:" + key + "\\s*=\\s*)" + "['\"](.*?)['\"]"); Matcher matcher = pattern.matcher(src); if (matcher.find()) { return matcher.group().replaceAll(key + "\\s*=\\s*", "").replaceAll("\"", ""); } return null; }
示例:
NiceUtil.getValueByKeyInHtml("<a href="https://www.baidu.com/">","href");//会返回 https://www.baidu.com/
正则讲解:
重点是 .*? 的用法。其他都很简单。
关于 .*? 的意思,
. : 任意字符(不包括回车)
*: 零个或任意个
? : 非贪婪模式
所以连起来就是:取尽量少的任意字符。
但它一般不会这么单独写,大多会这么用:
.*?a
意思就是取前面任意长度的字符,到“第一个a” 出现。
以前一直觉得是?加在第二个 ['\"]后面,这是不对的,应该是匹配尽量少的字符,直到 ['\"]出现。
额。不理解的话,就跟我一样就把 .*? 的用法背过吧。
阅读全文
0 0
- 【爬虫工具方法】根据属性得到一条HTML标签的一个属性值
- 根据html标签的属性找节点
- 根据html标签的属性找节点
- html select标签的属性和方法
- html:select 标签的属性及方法
- Java反射:根据属性名得到其Set方法设置它的值
- HTML页面meta标签常用的属性/属性值
- Java 得到一个类里面的方法和属性
- 得到一个对象的方法与属性(重要)
- android得到清单文件里meta标签的属性值
- jq,得到 相同 calss 属性的 标签,个数,值,
- html select标签的属性
- HTML 标签的 coords 属性
- HTML 标签的 target 属性
- HTML 标签的 target 属性
- HTML 标签的 valign 属性
- HTML标签的type属性
- HTML 标签的 rules 属性
- python+django+sae
- Web安全 -- CVE-2016-10033漏洞
- RHEL7中安装极点五笔的方法
- PAT (Advanced Level) Practise 1002. A+B for Polynomials (25)
- 2017.12.6 C语言第三次课
- 【爬虫工具方法】根据属性得到一条HTML标签的一个属性值
- Bailian4077 出栈序列统计【卡特兰数】(vijos P1122)
- JavaScript的constructor属性
- 谈谈程序员的离职和跳槽
- ajax post请求,后台servlet来接收
- 趣图:理想中的文档 vs 现实中的文档
- 调试器确实能派上用场
- Nginx 静态资源访问
- springBoot启动报错:Address already in use: bind