qq_32264525 2017-10-20 10:56
浏览 320

为什么我的正则表达式截取网站源代码的图片没输出 而其他字符串又行?

public class DownImgUtil {

public static String htmlSource(String link,String encoding) {
    StringBuffer sb=new StringBuffer();
    InputStreamReader in=null;
    try {

        URL url=new URL(link);

        URLConnection uc=url.openConnection();
        //װ
        uc.setRequestProperty("User-Agent", "java");

        InputStream inputStream=uc.getInputStream();
        in=new InputStreamReader(inputStream,encoding);

        BufferedReader reader= new BufferedReader(in);

        String line =null;

        while((line=reader.readLine())!=null){
            sb.append(line+"\n");
        }

        } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally {
        try {
            in.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    return sb.toString();

}
public static void getImg(String source) {
    String regex="<img[\\s]+src=\"(https://|http://)[^\"]+?.(jpg|png|gif)\">";
    Pattern p=Pattern.compile(regex);
    Matcher m=p.matcher(source);
    while(m.find()){
        //m.group().matches("(https://|http://)([\\w-]+\\.)+[\\w-]+(:[0-9]+)*(/[\\w-]+)*(/[\\w-]+\\.(jpg|JPG|png|PNG|gif|GIF)))");
    Pattern p1=Pattern.compile("(https://|http://)[^\"]+?.(jpg|png|gif)");
    Matcher m1=p1.matcher(m.group());
    while(m1.find()){
        System.out.println(m1.group());
    }

    }

}

public static void main(String[] args) {
String sb=htmlSource("http://foxue.qq.com/", "gbk");
String sa="adsaxzxsx";
getImg(sa);

}
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
    • ¥20 Python安装cvxpy库出问题
    • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
    • ¥15 python天天向上类似问题,但没有清零
    • ¥30 3天&7天&&15天&销量如何统计同一行
    • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
    • ¥15 C#调用python代码(python带有库)
    • ¥15 活动选择题。最多可以参加几个项目?
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题