jafea7-ctbrec-v5.3.2-based/src/main/java/ctbrec/sites/chaturbate/ChaturbateModelParser.java

44 lines
1.6 KiB
Java

package ctbrec.sites.chaturbate;
import static ctbrec.ui.CamrecApplication.BASE_URI;
import java.util.ArrayList;
import java.util.List;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ctbrec.Model;
import ctbrec.ui.HtmlParser;
public class ChaturbateModelParser {
private static final transient Logger LOG = LoggerFactory.getLogger(ChaturbateModelParser.class);
public static List<Model> parseModels(String html) {
List<Model> models = new ArrayList<>();
Elements cells = HtmlParser.getTags(html, "ul.list > li");
for (Element cell : cells) {
String cellHtml = cell.html();
try {
Model model = new ChaturbateModel();
model.setName(HtmlParser.getText(cellHtml, "div.title > a").trim());
model.setPreview(HtmlParser.getTag(cellHtml, "a img").attr("src"));
model.setUrl(BASE_URI + HtmlParser.getTag(cellHtml, "a").attr("href"));
model.setDescription(HtmlParser.getText(cellHtml, "div.details ul.subject"));
Elements tags = HtmlParser.getTags(cellHtml, "div.details ul.subject li a");
if(tags != null) {
for (Element tag : tags) {
model.getTags().add(tag.text());
}
}
models.add(model);
} catch (Exception e) {
LOG.error("Parsing of model details failed: {}", cellHtml, e);
}
}
return models;
}
}