Files
NewsSpider/src/main/java/cmy/newsspider/pageextractor/IFengExtractor.java
T
2021-09-28 18:44:04 +08:00

60 lines
1.7 KiB
Java

package cmy.newsspider.pageextractor;
import cmy.newsspider.record.NewsRecord;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;
public class IFengExtractor extends PageExtractor {
public IFengExtractor(String url) {
super(url);
}
@Override
public String getTitle() {
if (pageDoc == null) return "";
var titleElement = pageDoc.select("div[class^=artical] h1[class^=topic-]");
if (titleElement.isEmpty()) {
titleElement = pageDoc.select("#artical_topic");
}
return titleElement.text().strip();
}
@Override
public String getSource() {
if (pageDoc == null) return "";
var sourceElement = pageDoc.select("div[class^=artical] div[class^=info-] p[class^=time]>span[class^=publisher]");
if (sourceElement.isEmpty()) {
sourceElement = pageDoc.select("span[itemprop=publisher]");
}
return sourceElement.text().strip();
}
@Override
public String getDate() {
if (pageDoc == null) return "";
var dateElement = pageDoc.select("div[class^=artical] div[class^=info-] p[class^=time]>span");
if (dateElement.isEmpty()) {
dateElement = pageDoc.select("span[itemprop=datePublished]");
if (dateElement.isEmpty()) {
return "";
}
}
return dateElement.get(0).text().strip();
}
@Override
public String getContent() {
if (pageDoc == null) return "";
var contentElement = pageDoc.select("div[class^=artical] div[class^=main_content-]");
if (contentElement.isEmpty()) {
contentElement = pageDoc.select("div #artical_real");
}
return contentElement.text();
}
}