-1
    public class Crawler {
        public static void main(String[] args)  {
            List<String> Web = new ArrayList<String>();
            Web.add("www.thehindu.com");
            Web.add("www.indianexpress.com");
            Web.add("www.ndtv.com");
            Web.add("www.tehekla.com");

            try {

                for (int i = 0; i < Web.size(); i ++) {
                    // URL my_url = new URL("http://www.thehindu.com/");
                    String a = Web.get(i).toString();
                    System.out.println(a);
                    URL my_url = new URL(a);
                    BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream()));
                    String strTemp = "";
                    while(null != (strTemp = br.readLine())) {
                        System.out.println(strTemp);
                    }
               }
          } catch (Exception ex) {
              ex.printStackTrace();
          }
    }
}

当我尝试运行此代码时,错误显示为:

java.net.MalformedURLException: no protocol: www.thehindu.com 
4

2 回答 2

3

尝试http://在每个 URL 之前添加。

于 2013-05-05T09:49:12.020 回答
0

您需要http在网站地址之前放置

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class Crawler {
    public static void main(String[] args) {
        List<String> Web = new ArrayList<String>();
        Web.add("http://www.thehindu.com");
        Web.add("http://www.indianexpress.com");
        Web.add("http://www.ndtv.com");
        Web.add("http://www.tehekla.com");

        try {

            for (int i = 0; i < Web.size(); i++) {
                // URL my_url = new URL("http://www.thehindu.com/");
                String a = Web.get(i).toString();
                System.out.println(a);
                URL my_url = new URL(a);
                BufferedReader br = new BufferedReader(new InputStreamReader(
                        my_url.openStream()));
                String strTemp = "";
                while (null != (strTemp = br.readLine())) {
                    System.out.println(strTemp);
                }
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}
于 2013-05-05T09:50:37.203 回答