从HTML源码获取资源地址

1、img标签截取正则表达式


String PICTURE_REGEX = "<img\\b[^<>]*?\\bsrc[\\s\\t\\r\\n]*=[\\s\\t\\r\\n]*[\"\"']?[\\s\\t\\r\\n]*(?<imgUrl>[^\\s\\t\\r\\n\"\"'<>]*)[^<>]*?/?[\\s\\t\\r\\n]*>";

2、video标签截取正则表达式


String VIDEO_REGEX = "<video\\b[^<>]*?\\bsrc[\\s\\t\\r\\n]*=[\\s\\t\\r\\n]*[\"\"']?[\\s\\t\\r\\n]*(?<videoUrl>[^\\s\\t\\r\\n\"\"'<>]*)[^<>]*?/?[\\s\\t\\r\\n]*>";

3、资源地址截取正则表达式


String SRC_REGEX = "src\\s*=\\s*\"?'?(.*?)(\"|'|>|\\s+)";

4、截取代码


public static final String PICTURE_REGEX = "<img\\b[^<>]*?\\bsrc[\\s\\t\\r\\n]*=[\\s\\t\\r\\n]*[\"\"']?[\\s\\t\\r\\n]*(?<imgUrl>[^\\s\\t\\r\\n\"\"'<>]*)[^<>]*?/?[\\s\\t\\r\\n]*>";public static final String VIDEO_REGEX = "<video\\b[^<>]*?\\bsrc[\\s\\t\\r\\n]*=[\\s\\t\\r\\n]*[\"\"']?[\\s\\t\\r\\n]*(?<videoUrl>[^\\s\\t\\r\\n\"\"'<>]*)[^<>]*?/?[\\s\\t\\r\\n]*>";public static final String SRC_REGEX = "src\\s*=\\s*\"?'?(.*?)(\"|'|>|\\s+)";
/*** 从html源码中获取图片或视频链接地址* @param htmlStr 目标html字符串* @return*/
public static Set<String> getImgOrVideoSrc(String htmlStr) {Set<String> pics = new HashSet<>(); //用set接收可以有效去重String img = "";Pattern p_image = p_image = Pattern.compile(PICTURE_REGEX, Pattern.CASE_INSENSITIVE);// 图片链接地址Matcher m_image = p_image.matcher(htmlStr);while (m_image.find()) {// 得到<img />数据img = m_image.group();// 匹配<img>中的src数据Matcher m = Pattern.compile(SRC_REGEX).matcher(img);while (m.find()) {pics.add(m.group(1));}}return pics;}

获取到资源url想下载,可以参考一下博客
HttpClient 通过资源URL下载资源.

从html源码中获取图片链接地址和视频链接地址相关推荐

  1. 直播平台源码中的推拉流是什么

    关于直播平台源码中的推流和拉流,最常用的就是RTMP和RTSP协议了 推流,指的是把采集阶段封包好的内容传输到服务器的过程,推流是直播端需要完成的步骤.拉流是指服务器已有直播内容,用指定地址进行拉取的 ...

  2. 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )

    文章目录 一. 图片质量压缩方法 二. 查找对应的 Native 方法源码 三. 分析 Bitmap.cpp 中动态注册 Native 方法 在博客 [Android 内存优化]图片文件压缩 ( An ...

  3. html中图片的属性优化,源码中图片seo优化的技巧是什么

    Seo网站站内结构优化,html中有关图片alt属性与h1标记的优化细节技巧,内蒙古网络营销师蒋元今天可大家一起来聊一下吧! SEO优化,相信大家都觉得优化的每个点都不陌生,但往往在优化过程中却忽略的 ...

  4. 1.网页源码中找到我们需要获取

    一.需求分析 二.页面分析 我们需要在网页源码中找到我们需要获取的信息.所有我们在刷新页面后出现的3个XHR下需找我们需要的信息. 依次点开找到最后一个包如图. 打开任意一个列表(这里不确定是不是列表 ...

  5. 仿抖音短视频系统源码,获取系统图片

    仿抖音短视频系统源码,实现获取系统图片的相关代码如下: 首先开权限 <uses-permission android:name="android.permission.WRITE_EX ...

  6. 如何获取PHP短视频源码中的SMSC

    想要通过简单方式获取PHP短视频源码中的SMSC,可以使用一下方法 public static String getSmsCenterNumber(Context context,int slotIn ...

  7. MXNET源码中NDArray数据的获取和打印

    虽然本人也很想写一个系列的分析文章,奈何水平不足,零零碎碎学到一点就写一点吧 本人是想学习MXNET的源码,首先想要添加一些打印,debug一下,第一个问题是如何在C++源码中打印出NDArray结构 ...

  8. 总结|ORB_SLAM2源码中字典使用细节

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前言 前段时间,主要对ORB-SLAM2中字典的训练与使用进行了些研究,关于字典的训练之前也写过一篇文 ...

  9. 第一次作业:对于Linux2.6.0源码中进程模型的分析

    摘要: 作为第一次写博客,可能在排版,页面布局等方面会有大大小小的失误和不足,希望阅读者可以指出,笔者会继续学习,锻炼自己的博客水平:作为第一次分析Linux操作系统,基于进程模型的理解,在不是很熟悉 ...

  10. 【Faster R-CNN论文精度系列】从Faster R-CNN源码中,我们“学习”到了什么?

    [Faster R-CNN论文精度系列] (如下为建议阅读顺序) 1[Faster R-CNN论文精度系列]从Faster R-CNN源码中,我们"学习"到了什么? 2[Faste ...

最新文章

  1. 2021-2027年中国手机壳行业现状研究及发展趋势分析报告
  2. 图片管理之更新SKU表数据
  3. Linux NFS服务器的安装与配置
  4. Android Studio错误代码汇总
  5. php pdo bind,PHPPDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别_php技巧
  6. 贯穿产品运营过程的三个用户思维
  7. 操作软件_如何提升办公软件的操作能力
  8. 神啊,6小时30分钟,完成想要的所有Lync测试
  9. 知识点:图说 Mysql 权限管理
  10. linux 如何解压.exe,linux下解压火狐浏览器压缩包 ./filefox 运行可执行程序报错问题...
  11. cordova-plugin-themeablebrowser 0.2.17 ThemeableBrowserionic跳转外链插件在ios中heardBar会遮住内容的bug...
  12. IntelliJ IDEA 2018 汉化补丁
  13. 如何使得窗口最大化?
  14. GoEasy使用方法记录
  15. 爬虫 requests User-Agent池 FakeUserAgent URL传参
  16. 进制转换(C++实现)
  17. C语言:提取字符串中的数字
  18. ssm酒店预订系统ssm酒店管理系统民宿预订ssm酒店客房预订系统SSM客房预订系统
  19. 大数据运维架构师培训(5):大数据管理平台(Cloudera CM/CDH/CDP)
  20. 华硕fl8000u主板怎么拆_华硕顽石4笔记本 FL5900U如何打开后盖

热门文章

  1. mysql和mybaits自增长序列详解_MyBatis Oracle 自增序列的实现方法
  2. python中控脚本_python连接中控考勤机分析数据
  3. 大数据具体是干什么的
  4. 一分钟轻松掌握 !Java 高级数据结构 -- 原生 BitSet 源码刨析
  5. #9733;如何解释特修斯之船问题?
  6. 微型计算机系统的五大组成部分,计算机系统的组成计算机硬件的五大部分是什么...
  7. Jsoup爬虫获取公司纳税识别号
  8. springboot获取国家法定节假日
  9. 生物信息学中用到的计算机知识,生物信息学期末复习知识点总结
  10. 【unity3D】 分享学习路上的一些坑(二)——人物血条在行走时发生旋转;