java根据url爬取网页html内的所有链接地址代码
代码语言:java
所属分类:其他
代码描述:java根据url爬取网页html内的所有链接地址代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
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 HelloWorld { public static void main(String []args) { Urls myurl=new Urls("<body","/body>"); myurl.getStartUrl("https://ask.bfw.wiki/question-3-0.html"); myurl.getUrlContent(); myurl.getContentArea(); myurl.getStringInUrl("http://www.baidu.com/"); myurl.getStringNotInUrl("google"); myurl.Urls(); } } /* 根据指定的规则,经过构造正则表达式获取网址 */ 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(); //存储网址和标题 //初始化构造函数 strAreaBegin 和strAreaEnd public Urls (String strAreaBegin,String strAreaEnd) { this.strAreaBegin=strAreaBegin; this.strAreaEnd=strAreaEnd; } // public void Urls() { int i=0; //String regex ="<a href="?'?http://[a-zA-Z0-9]+/.[a-zA-Z0-9]+/.[a-zA-Z]+/?[/.?[/S|/s]]+[a>]$"; String regex ="<a.*?/a>"; //String regex ="http://.*?>"; Pattern pt=Pattern.compile(regex); Matcher mt=pt.matcher(ContentArea); while(mt.find()) { System.out.println(mt.group()); i++; //获取标题 Matcher title=Pattern.compile(">.*?</a>").matcher(mt.group()); while(title.find()) { System.out.println("标题:"+title.group().replaceAll(">|</a>","")); } //获取网址 Matcher myurl=Pattern.compile("href=.*?>").matcher(mt.group()); .........完整代码请登录后点击上方下载按钮下载查看
网友评论0