Использование MongoDB
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
package kinosearch.kinosearch3.cinema.onlinelife;
|
||||
|
||||
import kinosearch.kinosearch3.browser.Browser;
|
||||
import kinosearch.kinosearch3.spider.CinemaDocument;
|
||||
import kinosearch.kinosearch3.spider.FileDownloader;
|
||||
import kinosearch.kinosearch3.spider.ScannerCinema;
|
||||
import org.jsoup.Jsoup;
|
||||
@@ -13,6 +14,7 @@ import org.jsoup.nodes.Element;
|
||||
import org.jsoup.select.Elements;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -21,14 +23,16 @@ public class ScannerImpl implements ScannerCinema {
|
||||
private FileDownloader fileDownloader;
|
||||
private Browser browser;
|
||||
private File saveToDir;
|
||||
private MongoTemplate mongoTemplate;
|
||||
|
||||
public ScannerImpl(FileDownloader fileDownloader, Browser browser, File saveToDir) {
|
||||
public ScannerImpl(FileDownloader fileDownloader, Browser browser, File saveToDir, MongoTemplate mongoTemplate) {
|
||||
this.fileDownloader = fileDownloader;
|
||||
this.browser = browser;
|
||||
this.saveToDir = saveToDir;
|
||||
if (!this.saveToDir.mkdirs() && !this.saveToDir.exists()) {
|
||||
throw new IllegalStateException(String.format("dir not found: '%s'", this.saveToDir.getAbsolutePath()));
|
||||
}
|
||||
this.mongoTemplate = mongoTemplate;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -54,7 +58,11 @@ public class ScannerImpl implements ScannerCinema {
|
||||
|
||||
String url = element.children().get(0).children().get(0).attr("src");
|
||||
|
||||
this.fileDownloader.addFile(url, new File(saveToDir, str + ".jpg"));
|
||||
File saveToFile = new File(saveToDir, str + ".jpg");
|
||||
this.fileDownloader.addFile(url, saveToFile);
|
||||
|
||||
CinemaDocument cinemaDocument = new CinemaDocument(saveToFile.getAbsolutePath(), this.getName());
|
||||
this.mongoTemplate.save(cinemaDocument);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
package kinosearch.kinosearch3.cinema.seasonvar;
|
||||
|
||||
import kinosearch.kinosearch3.browser.Browser;
|
||||
import kinosearch.kinosearch3.spider.CinemaDocument;
|
||||
import kinosearch.kinosearch3.spider.FileDownloader;
|
||||
import kinosearch.kinosearch3.spider.ScannerCinema;
|
||||
import org.jsoup.Jsoup;
|
||||
@@ -12,6 +13,7 @@ import org.jsoup.nodes.Document;
|
||||
import org.jsoup.select.Elements;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -21,14 +23,16 @@ public class ScannerImpl implements ScannerCinema {
|
||||
private final Browser browser;
|
||||
private final File saveTo;
|
||||
private int i = 1;
|
||||
private MongoTemplate mongoTemplate;
|
||||
|
||||
public ScannerImpl(FileDownloader fileDownloader, Browser browser, File saveTo) {
|
||||
public ScannerImpl(FileDownloader fileDownloader, Browser browser, File saveTo, MongoTemplate mongoTemplate) {
|
||||
this.fileDownloader = fileDownloader;
|
||||
this.browser = browser;
|
||||
this.saveTo = saveTo;
|
||||
if (!this.saveTo.mkdirs() && !this.saveTo.exists()) {
|
||||
throw new IllegalStateException(String.format("dir not found: '%s'", this.saveTo.getAbsolutePath()));
|
||||
}
|
||||
this.mongoTemplate = mongoTemplate;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -55,7 +59,11 @@ public class ScannerImpl implements ScannerCinema {
|
||||
Document doc = Jsoup.parse(str2);
|
||||
str2 = doc.getElementsByTag("img").get(0).attr("src");
|
||||
|
||||
this.fileDownloader.addFile(str2, new File(this.saveTo, str+".jpg"));
|
||||
File saveToFile = new File(this.saveTo, str+".jpg");
|
||||
this.fileDownloader.addFile(str2, saveToFile);
|
||||
|
||||
CinemaDocument cinemaDocument = new CinemaDocument(saveToFile.getAbsolutePath(), this.getName());
|
||||
this.mongoTemplate.save(cinemaDocument);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* DmitriyMX <dimon550@gmail.com>
|
||||
* 2017-04-02
|
||||
*/
|
||||
package kinosearch.kinosearch3.spider;
|
||||
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Document(collection = "cinema")
|
||||
public class CinemaDocument {
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
private String fileName;
|
||||
|
||||
private String typeWarez;
|
||||
|
||||
public CinemaDocument() {
|
||||
}
|
||||
|
||||
public CinemaDocument(String fileName, String typeWarez) {
|
||||
this.fileName = fileName;
|
||||
this.typeWarez = typeWarez;
|
||||
}
|
||||
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public void setFileName(String fileName) {
|
||||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
public String getTypeWarez() {
|
||||
return typeWarez;
|
||||
}
|
||||
|
||||
public void setTypeWarez(String typeWarez) {
|
||||
this.typeWarez = typeWarez;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user