Web scraping Jsoup将解析多个网站以获取今天发布的链接

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;

我目前正在使用下面的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.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;