0

Новый кинотеатр

This commit is contained in:
2017-04-02 03:26:30 +03:00
parent 78fba0f79b
commit b4a94e3dad
7 changed files with 101 additions and 2 deletions

View File

@@ -31,6 +31,11 @@ public class ScannerImpl implements ScannerCinema {
}
}
@Override
public String getName() {
return "OnlineLife";
}
@Override
public void run() {
int lastPage = getLastPage();

View File

@@ -0,0 +1,61 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2017-04-02
*/
package kinosearch.kinosearch3.cinema.seasonvar;
import kinosearch.kinosearch3.browser.Browser;
import kinosearch.kinosearch3.spider.FileDownloader;
import kinosearch.kinosearch3.spider.ScannerCinema;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
public class ScannerImpl implements ScannerCinema {
private Logger logger = LoggerFactory.getLogger(ScannerImpl.class);
private final FileDownloader fileDownloader;
private final Browser browser;
private final File saveTo;
private int i = 1;
public ScannerImpl(FileDownloader fileDownloader, Browser browser, File saveTo) {
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()));
}
}
@Override
public String getName() {
return "Seasonvar";
}
@Override
public void run() {
String html = browser.get("http://seasonvar.ru/");
Document document = Jsoup.parse(html);
Elements elements = document.getElementsByClass("betterT");
elements.stream()
.filter(element -> element.tagName().equals("div"))
.map(element -> element.children().get(0))
.forEach(element -> {
logger.info("element #{}", i++);
String str = element.attr("href");
str = str.substring(1, str.lastIndexOf("."));
String str2 = element.attr("data");
str2 = browser.get("http://seasonvar.ru"+str2);
Document doc = Jsoup.parse(str2);
str2 = doc.getElementsByTag("img").get(0).attr("src");
this.fileDownloader.addFile(str2, new File(this.saveTo, str+".jpg"));
});
}
}