Web scraping Jsoup将解析多个网站以获取今天发布的链接
我目前正在使用下面的jsoup输出一个.csv的链接,其中包括一个字符串日期格式的url从一个网站Web scraping Jsoup将解析多个网站以获取今天发布的链接,web-scraping,jsoup,Web Scraping,Jsoup,我目前正在使用下面的jsoup输出一个.csv的链接,其中包括一个字符串日期格式的url从一个网站 import java.io.IOException; import java.util.HashSet; import java.util.Set; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.io.FileOutputStream;
import java.io.PrintStream;
import org.jsoup.nodes.Element;
public class readAllLinks {
public static Set<String> uniqueURL = new HashSet<String>();
public static String my_site;
public static String published = ("20180731");
public static void main(String[] args) {
readAllLinks obj = new readAllLinks();
my_site = ("news24.com/SouthAfrica/News");
obj.get_links("https://www.news24.com/SouthAfrica/News/");
}
private void get_links(String url) {
try {
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("a");
FileOutputStream fout=new FileOutputStream("links.csv");
PrintStream csv=new PrintStream(fout);
links.stream().map((link) -> link.attr("abs:href")).forEachOrdered((this_url) -> {
boolean add = uniqueURL.add(this_url);
if (add && this_url.contains(my_site) && this_url.contains(published)) {
System.out.println(this_url);
get_links(this_url);
}
if (this_url.contains(published))
csv.println(this_url);
} );
} catch (IOException ex) {
}
}
}
相反,我想做一个csv的链接发布今天,即使用今天的日期从多个网站
如何为新发布的链接指定.select以获取范围中包含的日期
如何从一个列表中解析多个网站
非常感谢您的帮助。这将选择包含变量“published”值的所有链接
Elements links = doc.select("a[href*="+published+"]");
也可以使用此选择器:doc.selectdivContainer:hasdivPublishedDate:Containes2018-08-02>a;