Qu'est-ce qu'un robot d'exploration et un cas d'entrée
Le robot d'exploration Web est un programme ou un script qui explore automatiquement les informations sur le World Wide Web conformément à certaines règles
Introduction aux robots d'exploration Web
À l'ère des mégadonnées, la collecte d'informations est une tâche importante et les données sur Internet sont massives. Si les informations sont collectées uniquement par la main-d'œuvre, elles seront non seulement inefficaces et lourdes, mais elles augmenteront également le coût de la collecte. Comment obtenir automatiquement et efficacement les informations qui nous intéressent sur Internet et les utiliser pour nous est un problème important, et la technologie des robots d'exploration est née pour résoudre ces problèmes.
Les robots d'exploration Web sont également appelés robots Web, qui peuvent collecter et organiser automatiquement des données et des informations sur Internet plutôt que sur des personnes. Il s'agit d'un programme ou d'un script qui saisit automatiquement des informations sur le World Wide Web conformément à certaines règles, et peut collecter automatiquement tout le contenu de la page auquel il peut accéder pour obtenir des données pertinentes.
En termes de fonction, les robots d'exploration sont généralement divisés en trois parties: la collecte, le traitement et le stockage des données. Le robot d'exploration démarre à partir de l'URL d'une ou plusieurs pages Web initiales et obtient l'URL de la page Web initiale. Lors de l'exploration de la page Web, il extrait en permanence les nouvelles URL de la page en cours et les met dans la file d'attente jusqu'à une certaine condition d'arrêt de le système est respecté.
Programme d'entrée du robot d'exploration
Préparation de l'environnement
Créez le projet Maven itcast-crawler-first et ajoutez des dépendances à 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>
Ajouter 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
Ecrire du code
Ecrire le crawler le plus simple, crawler la page d'accueil de Sohu: 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);
}
}
Résultat du test: les données de la page peuvent être obtenues