分享一个工具类,用户抓取网页上的图片、js、css等路径

传入

package lab2;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* 项目名称:lab
* 类名称:Snippet
* 类描述:TODO  根据html源码中的资源路径
* 创建人: yy
* 创建时间:2016年11月30日 下午5:26:38
* @version
*/
public class Snippet {
       /**
     * @Title: getSrc
     * @Description: TODO 获取指定标签的src属性集合
     * @date 2016年11月30日
     * @author yy
     * @param @param htmlStr 网页源码
     * @param @param htmlMark 标签名 eg. img
     * @param @return   所有指定标签的src属性
     * @return List<String>
     * @throws
     */
    public static List<String> getSrc(String htmlStr,String htmlMark){
                String ele="";
                Pattern p;
                Matcher m;
                List<String> res = new ArrayList<String>();

                String reg = "<"+htmlMark+".*src\\s*=\\s*(.*?)[^>]*?>"; //img:<img.*src\\s*=\\s*(.*?)[^>]*?>
                p = Pattern.compile
                        (reg,Pattern.CASE_INSENSITIVE);
               m = p.matcher(htmlStr);
               while(m.find()){
                   ele = ele + "," + m.group();
                   Matcher mr  = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(ele);
                    while(mr.find()){
                        res.add(mr.group(1));
                    }
                }
                return res;
            } 

       /**
     * @Title: getHref
     * @Description: TODO 获取指定标签的href属性集合
     * @date 2016年11月30日
     * @author yy
     * @param @param htmlStr 网页源码
     * @param @param htmlMark 标签名 eg. a
     * @param @return   所有指定标签的href属性
     * @return List<String>
     * @throws
     */
    public static List<String> getHref(String htmlStr,String htmlMark){
String ele="";
Pattern p;
Matcher m;
List<String> res = new ArrayList<String>();
String reg = "<"+htmlMark+".*href\\s*=\\s*(.*?)[^>]*?>"; //img:<img.*src\\s*=\\s*(.*?)[^>]*?>
p = Pattern.compile
(reg,Pattern.CASE_INSENSITIVE);
m = p.matcher(htmlStr);
while(m.find()){
       ele = ele + "," + m.group();
Matcher mr  = Pattern.compile("href\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(ele);
while(mr.find()){
    res.add(mr.group(1));
}
}
return res;
}
}

正则表达式抓取网页资源相关推荐

  1. python3实现抓取网页资源的 N 种方法(内附200GPython学习资料)

    这两天学习了python3实现抓取网页资源的方法,发现了很多种方法,所以,今天添加一点小笔记. 文章最后为各位小伙伴提供超级彩蛋!不要错过了! 1.最简单 import urllib.request ...

  2. php curl与正则表达式抓取网页数据的例子

    php使用curl和 正则表达式抓取网页数据示例,这里是抓取某网站的小说. 利用 curl和正则表达式做的一个针对磨铁中文网非vip章节的小说抓取器,支持输入小说ID下载小说. 依赖项:curl 可以 ...

  3. php正则获取li,用正则表达式抓取网页中的ul 和 li标签中最终的值!

    获取你要抓取的页面 const string URL = "http://www.hn3ddf.gov.cn/price/GetList.html?pageno=1";       ...

  4. 【精华】【经典】自动化循环操作方法当前网页方法,可以用于本地化AI智能自动抓取网页资源信息,类似爬虫功能

    第一种:需要刷新当前页面重复执行的操作--使用场景:刷点击率 .秒杀活动.抢沙发 //自动化循环操作方法 var doLoop = function (dom) {dom || (dom = docu ...

  5. php 正则抓取页面内容_php使用curl和正则表达式抓取网页数据示例

    session_start(); //封装成类 开启这些自动抓取文章 #header("Refresh:30;http://www.test.com:8080"); class S ...

  6. python抓资源_python3 抓取网页资源的 N 种方法

    转自:https://www.cnblogs.com/goldd/p/5457229.html 1.最简单 import urllib.request response = urllib.reques ...

  7. 正则表达式抓取文件内容中的http链接地址

    转自:https://www.cnblogs.com/akiradunn/p/5855073.html 1 import java.io.BufferedReader; 2 3 import java ...

  8. php抓取标签内的内容,php抓取网页中的内容

    以下就是几种常用的用php抓取网页中的内容的方法. 1.file_get_contents PHP代码 代码如下:>>>>>>>>>>> ...

  9. 转载自android 开发--抓取网页解析网页内容的若干方法(网络爬虫)(正则表达式)

    转载自http://blog.csdn.net/sac761/article/details/48379173 android 开发--抓取网页解析网页内容的若干方法(网络爬虫)(正则表达式) 标签: ...

最新文章

  1. 佳能80d有人脸识别吗_国家地理2020年旅行者最推荐相机Top10,有你喜欢的吗?
  2. 5.用户APC执行过程
  3. 看完后,我才明白 Redis 为什么默认 16 个数据库?
  4. CTF-杂项之工具使用汇总(一)
  5. c语言中英文翻译 毕业设计,c语言中英文翻译资料 本科毕业论文设计.doc
  6. HDU - 5889 Barricade(最短路+最小割-最大流)
  7. Java程序员之完美代码
  8. C语言中printf(built: %s %s,__TIME__,__DATE__);方便调试
  9. 【LeetCode笔记】49. 字母异位词分组(Java、字符串、哈希表)
  10. Android开发在路上:少去踩坑,多走捷径
  11. 《程序员修炼之道——从小工到专家》(典藏书)
  12. mysql study_mysql_study_3
  13. 复盘:windows ubuntu 双系统引导恢复、分区表恢复
  14. 明通智能:EA交易外汇ea能稳定盈利吗?
  15. Python9--面向对象编程
  16. logutils java_简单的日志工具类LogUtils
  17. 各种逆元求法 组合数取模 comb (组合数 Lucas)
  18. Anyka云平台调用api
  19. python教学视频k_10个Python奇趣教程,附视频讲解+练手项目。
  20. Android Hierarchy Viewer

热门文章

  1. (毕业设计资料)基于单片机SPWM逆变器电源系统设计
  2. python判断字符类型例题_python-数据类型练习题1
  3. 年历显示系统,输入一个年份,输出是在屏幕上显示该年的日历。
  4. python创建多维数组
  5. 智慧校园是什么?智慧校园能解决什么问题?
  6. python 透明图片合成_Python实现千图成像:从图片爬取到图片合成
  7. 工业物联网·翻推机设备联网及本地组网解决方案
  8. 计算机SCI论文讨论部分怎么写? - 易智编译EaseEditing
  9. 百度的年会游戏(解题报告)
  10. leetcode中关于使用二分查找算法思想deal的题型