简单Java爬虫

Braveheart
public class Spider {
    
     public static String SendGet(String url) {
         // 定义一个字符串用来存储网页内容  
         String result = "";  
         // 定义一个缓冲字符输入流  
         BufferedReader in = null;  
         try {   
                // 将string转成url对象   
                URL realUrl = new URL(url);   
                // 初始化一个链接到那个url的连接  
                URLConnection connection = realUrl.openConnection();   
                // 开始实际的连接   
                connection.connect();
                // 初始化 BufferedReader输入流来读取URL的响应   
                in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
                // 用来临时存储抓取到的每一行的数据  
                String line;   
                while ((line = in.readLine()) != null) {    
                    // 遍历抓取到的每一行并将其存储到result里面    
                    result += line;   
                }
             } catch (Exception e) {   
                    System.out.println("发送GET请求出现异常!" + e);   
                    e.printStackTrace();  
               }  
              // 使用finally来关闭输入流  
             finally {   
                    try {    
                            if (in != null) {     
                                in.close();
                            }
                        } catch (Exception e2) {    
                            e2.printStackTrace();
                        }
                    }
         return result;
            }
     public static ArrayList  RegexString(String getcontent) {  
         // 预定义一个样式模板,此中使用正则表达式,括号中是要抓的内容
         ArrayList results=new ArrayList();
         // 匹配标题 
         Pattern pattern = Pattern.compile("

(.+?)<"); Matcher matcher = pattern.matcher(getcontent); // 用来匹配url,也就是问题的链接 Pattern urlPattern = Pattern.compile("

public class GetContent {
    
     public String title;// 问题
     public String contentUrl;// 网页链接 
     public ArrayList content;// 存储所有回答的数组
     // 构造方法初始化数据
     public GetContent() {
         title = "";  
         contentUrl = "";  
         content = new ArrayList();
    }
     @Override 
     public String toString() {
         return "title:" + title + "\n url:" + contentUrl + "\n content:" + content + "\n";
    }
}
public class Main {
    
    public static void main(String[] args) {
        
        String url="https://www.guokr.com/ask/hottest/";
        //访问链接并获取页面内容
        String result=Spider.SendGet(url);
        //用正则匹配图片的src内容
        ArrayList imgSrc=Spider.RegexString(result);
        //打印结果
        System.out.println(imgSrc);
    }
    
}

你可能感兴趣的:(简单Java爬虫)