クローラーとエントリーケースとは
Webクローラーは、特定のルールに従ってWorld WideWeb上の情報を自動的にクロールするプログラムまたはスクリプトです。
Webクローラーの概要
ビッグデータの時代では、情報の収集は重要な課題であり、インターネット上のデータは膨大です。情報を人力だけで収集すると、非効率的で面倒なだけでなく、収集コストも増加します。インターネット上で興味のある情報を自動かつ効率的に取得して利用する方法は重要な課題であり、これらの問題を解決するためにクローラー技術が生まれています。
WebクローラーはWebロボットとも呼ばれ、人ではなくインターネット上のデータと情報を自動的に収集して整理できます。これは、特定のルールに従ってワールドワイドウェブ上の情報を自動的に取得し、関連データを取得するためにアクセスできるすべてのページコンテンツを自動的に収集できるプログラムまたはスクリプトです。
機能の観点から、クローラーは一般に、データの収集、処理、および保存の3つの部分に分けられます。クローラーは、1つまたは複数の初期WebページのURLから開始し、初期WebページのURLを取得します。Webページをクロールするプロセスでは、現在のページから新しいURLを継続的に抽出し、特定の停止条件が発生するまでキューに入れます。システムが満たされています。
クローラーエントリープログラム
環境の準備
Mavenプロジェクトitcast-crawler-firstを作成し、pom.xmlに依存関係を追加します
<dependencies>
<!-- HttpClient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<!-- 日志 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
</dependencies>
log4j.propertiesを追加します
log4j.rootLogger=DEBUG,A1
log4j.logger.cn.itcast = DEBUG
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n
コード
を書く最も簡単なクローラーを書いて、捜狐のホームページをクロールします:http://news.sohu.com/
public static void main(String[] args) throws Exception {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://news.sohu.com/");
CloseableHttpResponse response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == 200) {
String content = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println(content);
}
}
テスト結果:ページデータを取得できます