Javaネットワーク爬虫類(十一)--redisデータベースを使用して爬虫類キューを構築
コード思想は主に広さが優先的に検索され、知らない学生がアルゴリズム思想を理解することができ、私たちは直接コードを見てみましょう.
redisデータベース爬虫キューコード:
主な方法:
redisデータベース爬虫キューコード:
package redisqueue;
import redis.clients.jedis.Jedis;
/** * Created by hg_yi on 17-6-12. */
public class RedisQueue {
private Jedis jedis = null;
// redis
public RedisQueue() {
// Redis
jedis = new Jedis("127.0.0.1", 6379);
//
jedis.auth("******");
}
// url toVisit ( )
public void addToVisit(String url) {
jedis.rpush("toVisit", url);
}
// url
public String getToVisit() {
return jedis.lpop("toVisit");
}
// url
public void addVisited(String url) {
jedis.rpush("visited", url);
}
// url
public boolean toVisitIsEmpty() {
Long length = jedis.llen("toVisit");
if (length == 0) {
return true;
} else {
return false;
}
}
}
主な方法:
package redisqueue;
import mainclassify.MainClassifyUrl;
import java.util.Set;
/** * Created by hg_yi on 17-6-12. * * Jedis Redis */
public class MainMethod {
public static void main(String[] args) {
RedisQueue redisQueue = new RedisQueue();
// ( , url)
Set<String> strings = MainClassifyUrl.getMainClassifyUrl();
// redis
for (String url : strings) {
redisQueue.addToVisit(url);
}
// url
while (!redisQueue.toVisitIsEmpty()) {
// url url
String url = redisQueue.getToVisit();
/** * url url , , * , 。 * * url 。 * * url 。 */
// jsoup url , redis url
// url url
redisQueue.addVisited(url);
}
}
}