时间:2021-05-19
复制代码 代码如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.net.*;
import java.io.*;
import java.util.regex.*;
public class Urls
{
private String startUrl; //开始采集网址
String urlContent;
String ContentArea;
private String strAreaBegin ,strAreaEnd ; //采集区域开始采集字符串和结束采集字符串
private String stringInUrl,stringNotInUrl;
String strContent;//获得的采集内容
String[] allUrls; //采集到的所有网址
private String regex; //采集规则
UrlAndTitle urlAndTitle=new UrlAndTitle(); //存储网址和标题
public static void main(String[] args)
{
Urls myurl=new Urls("<body","/body>");
myurl.getStartUrl("http://pile("href=.*?>").matcher(mt.group());
while(myurl.find())
{
System.out.println("网址:"+myurl.group().replaceAll("href=|>",""));
}
System.out.println();
}
System.out.println("共有"+i+"个符合结果");
}
//获得开始采集网址
public void getStartUrl(String startUrl)
{
this.startUrl=startUrl;
}
//获得网址所在内容;
public void getUrlContent()
{
StringBuffer is=new StringBuffer();
try
{
URL myUrl=new URL(startUrl);
BufferedReader br= new BufferedReader(
new InputStreamReader(myUrl.openStream()));
String s;
while((s=br.readLine())!=null)
{
is.append(s);
}
urlContent=is.toString();
}
catch(Exception e)
{
System.out.println("网址文件未能输出");
e.printStackTrace();
}
}
//获得网址所在的匹配区域部分
public void getContentArea()
{
int pos1=0,pos2=0;
pos1= urlContent.indexOf(strAreaBegin)+strAreaBegin.length();
pos2=urlContent.indexOf(strAreaEnd,pos1);
ContentArea=urlContent.substring(pos1,pos2);
}
//以下两个函数获得网址应该要包含的关键字及不能包含的关键字
//这里只做初步的实验。后期,保护的关键字及不能包含的关键字应该是不只一个的。
public void getStringInUrl(String stringInUrl)
{
this.stringInUrl=stringInUrl;
}
public void getStringNotInUrl(String stringNotInUrl)
{
this.stringNotInUrl=stringNotInUrl;
}
//获取采集规则
//获取url网址
public void getUrl()
{
}
public String getRegex()
{
return regex;
}
class UrlAndTitle
{
String myURL;
String title;
}
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
相关阅读:IOS开发常用的正则表达式Java正则表达式过滤出字母、数字和中文正则表达式(regularexpression)描述了一种字符串匹配的模式,可以用来
正则表达式在PHP中的应用在PHP应用中,正则表达式主要用于:•正则匹配:根据正则表达式匹配相应的内容•正则替换:根据正则表达式匹配内容
本文实例讲述了正则表达式教程之子表达式用法。分享给大家供大家参考,具体如下:注:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java
概述RegExp的构造函数创建了一个正则表达式对象,用模式来匹配文本。有关正则表达式介绍,请阅读JavaScript指南中的正则表达式章节。语法文字和构造符号是
常用的正则表达式匹配中文字符的正则表达式:[\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了哦 获取日期正则表达式:\d