java爬虫類の詳細及び簡単な例
Java爬虫
一、コード
爬虫類の本質は、ウェブページのソースコードを開いてマッチングして検索し、検索した結果を得ることです。
ウェブページを開く:
*取得
*正規規則を対象のパッケージにします。
*Pattern p=Pattern.com mpile(「a*b」)
*//正規オブジェクトのmatcherメソッドによる文字列に関連します。文字列を操作するマッチ対象マッチを取得します。
*Match m=p.matcher(「aaaaaaab」)
*//マッチ機オブジェクトの方法で文字列を操作します。
*booklean b=m.matches()
*/
一、コード
爬虫類の本質は、ウェブページのソースコードを開いてマッチングして検索し、検索した結果を得ることです。
ウェブページを開く:
URL url = new URL(http://www.cnblogs.com/Renyi-Fan/p/6896901.html);
ウェブページの内容を読み取る:
BufferedReader bufr = new BufferedReader(new InputStreamReader(url.openStream()));
正規表現をマッチさせる:
tring mail_regex = "\\w+@\\w+(\\.\\w+)+";
保存結果:
List<String> list = new ArrayList<String>();
/**取得
*正規規則を対象のパッケージにします。
*Pattern p=Pattern.com mpile(「a*b」)
*//正規オブジェクトのmatcherメソッドによる文字列に関連します。文字列を操作するマッチ対象マッチを取得します。
*Match m=p.matcher(「aaaaaaab」)
*//マッチ機オブジェクトの方法で文字列を操作します。
*booklean b=m.matches()
*/
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Spider {
public static void main(String[] args) throws IOException {
// List<String> list = getMails();
// for(String mail : list){
// System.out.println(mail);
// }
List<String> list = getMailsByWeb();
for(String mail : list){
System.out.println(mail);
}
}
public static List<String> getMailsByWeb() throws IOException{
//1, 。
//URL url = new URL("http://192.168.1.100:8080/myweb/mail.html");
//URL url = new URL("http://localhost:8080/SecondWeb/index.jsp");
URL url = new URL("http://www.cnblogs.com/Renyi-Fan/p/6896901.html");
BufferedReader bufr = new BufferedReader(new InputStreamReader(url.openStream()));
//2, 。 .
String mail_regex = "\\w+@\\w+(\\.\\w+)+";
List<String> list = new ArrayList<String>();
Pattern p = Pattern.compile(mail_regex);
String line = null;
while((line=bufr.readLine())!=null){
Matcher m = p.matcher(line);
while(m.find()){
//3, 。
list.add(m.group());
}
}
return list;
}
public static List<String> getMails() throws IOException{
//1, 。
BufferedReader bufr = new BufferedReader(new FileReader("c:\\mail.html"));
//2, 。 .
String mail_regex = "\\w+@\\w+(\\.\\w+)+";
List<String> list = new ArrayList<String>();
Pattern p = Pattern.compile(mail_regex);
String line = null;
while((line=bufr.readLine())!=null){
Matcher m = p.matcher(line);
while(m.find()){
//3, 。
list.add(m.group());
}
}
return list;
}
}
二、運転結果
[email protected]
[email protected]
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。