文档章节

正则 抓http 图片的表达式

林伟琨
 林伟琨
发布于 2016/08/04 21:18
字数 247
阅读 22
收藏 4

// 获取src路径的正则 private static final String IMGSRC_REG_HTTP = ""(http://|www://|ftp://|https://|//)(\w+(-\w+))(\.(\w+(-\w+)))((:\d+)?)(/(\w+(-\w+)))(\.?(\w))(\?)?(((\w*%)(\w\?)(\w:)(\w\+)(\w\.)(\w&)(\w-)(\w=)(\w%)(\w\?)(\w:)(\w\+)(\w\.)(\w&)(\w-)(\w=))(\w*)*)"";

测试代码: package mytest;

import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern;

import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils;

import com.google.common.collect.Lists;

public class CopyOfRegexMatches_page {

public static void main(String args[]) {
	System.out.println(new CopyOfRegexMatches_page().replaceNumber("http://picjumbo.imgix.net/HNCK9012.jpg?q=40&w=1000&sharp=30"));
	System.out.println("/n--------下一个 -----------/n");
	System.out.println(new CopyOfRegexMatches_page().replaceNumber("//picjumbo.imgix.net/HNCK9012.jpg?q=40&w=1000&sharp=30"));
	
}

public String replaceNumber(String url) {
	
	// //picjumboblog.imgix.net/P1020073_1400-2.jpg?q=40&w=1650&sharp=30
	//http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?   
	//String pattern = "(http:|https:|//)\"?(.*?)(\"|>|\\s+)";
	//^(http|www|ftp|)?(://)?(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*((:\\d+)?)(/(\\w+(-\\w+)*))*(\\.?(\\w)*)(\\?)?(((\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*(\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*)*(\\w*)*)$
	String pattern = "(http:|www:|ftp:|https:|)?(//)?(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*((:\\d+)?)(/(\\w+(-\\w+)*))*(\\.?(\\w)*)(\\?)?(((\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*(\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*)*(\\w*)*)";
	Pattern p = Pattern.compile(pattern);
	Matcher m = p.matcher(url);
	ArrayList<String> strs = Lists.newArrayList();
	while (m.find()) {
		strs.add(m.group(0));
		System.out.println("匹配"+m.group(0));
	}
	if (CollectionUtils.isNotEmpty(strs) && NumberUtils.isNumber(strs.get(0))) {
		int pageNum = Integer.parseInt(strs.get(0))+1;
		String pageNumString=String.valueOf(pageNum);
		url=StringUtils.replaceChars(url, strs.get(0), pageNumString);
	}
	return url;
}

}

© 著作权归作者所有

共有 人打赏支持
上一篇: Spring jpa page
林伟琨
粉丝 8
博文 107
码字总数 38972
作品 0
厦门
后端工程师
私信 提问
follow大神教程——实践java爬虫之二

第二篇大神开始抓知乎了,哟哟好顺利的样子。 最终目标:抓取http://www.cfsn.cn/news/node4534.htm的新闻标题、链接,并存储到mysql中。 现在以模仿为主,第一阶段:抓取之后存储到txt之中。...

realsa
2014/07/01
0
0
python 爬虫抓取心得分享

/ author: insun title:python 爬虫抓取心得分享 blog:http://yxmhero1989.blog.163.com/blog/static/112157956201311821444664/ / 0x1.urllib.quote('要编码的字符串') 如果你要在url请求里......

quanwei9958
2014/07/25
0
0
爬虫 | 正则表达式提取腾讯教育新闻链接及图片链接

前面的爬虫都是通过标签来爬取的,今天就分享一个小例子使用正则表达式来提取网页信息。如果你对正则表达式不熟悉,可以查看我之前写的R正则表达式这篇文章。它对R几个常用正则表达式进行了详...

wzgl__wh
2018/05/18
0
0
【iOS】正则表达式抓取网页数据制作小词典

应用程序不一定要自己去提供数据,有现成的数据学会去用才好。 网络很大,各种搜索引擎每天到处爬。本文通过正则表达式抓取网站的数据来做一个小词典。 一、正则表达式的使用 1. 确定匹配方案...

xn4545945
2014/07/11
0
0
Python3做采集

出于某些目的,需要在网上爬一些数据。考虑到Python有各种各样的库,以前想试试Pycharm这个IDE,就决定用它了。首先翻完《深入Python3》这本书,了解了它的语法之类的。下面就以下载http://...

yangjiyue0520
2017/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

a标签点击浏览器下载图片,不打开

网上好多给a标签加download属性的,但都不好使。 <!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Auth......

S三少S
6分钟前
14
0
搭建私有maven仓库并在项目中使用

这是一篇写给女朋友看的教程...前方高能,注意避让~ 1.私有maven仓库的搭建 搭建环境为阿里云ESC服务器,CentOS.确保服务器已经安装Jdk。然后我要手把手教你安装和启动nexus。 Step1:新建一个...

liululee
9分钟前
1
0
js 写文件

//写文件function doSave(value, type, name) {    var blob;    if (typeof window.Blob == "function") {        blob = new Blob([value], {type: type});    }......

重城重楼
18分钟前
1
0
Ubuntu and Apache 搭建 Let's Encrypt SSL Https

本文参考来着来自https://www.howtoing.com/install-free-lets-encrypt-ssl-certificate-for-apache-on-debian-and-ubuntu 感谢作者的分享 本事例环境介绍 ubuntu (Version 16.04.1 LTS) ubu......

罗培海
21分钟前
16
0
如何优雅的使用RabbitMQ

目录 RabbitMQ无疑是目前最流行的消息队列之一,对各种语言环境的支持也很丰富,作为一个.NET developer有必要学习和了解这一工具。消息队列的使用场景大概有3种: 1、系统集成,分布式系统的...

编程SHA
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部