【发布时间】:2019-11-08 10:57:43
【问题描述】:
我正在使用 Jsoup 从多个网页中抓取数据,如何在不覆盖之前被抓取的网页的情况下将抓取的数据保存到文件中
我尝试在堆栈溢出和 Jsoup 文档上搜索解决方案。
int j = 0;
int i = 0;
String URL = ("https://www.ufc.com/athletes/all?gender=All&search=&page="+j);
Document doc = Jsoup.connect(URL).userAgent("mozilla/70.0.1").get();
Elements temp = doc.select("div.c-listing-athlete__text");
for (Element fighterList:temp) {
i++;
System.out.println(i + " " + fighterList.getElementsByClass("c-listing-athlete__name").first().text());
}
j++;
URL = ("https://www.ufc.com/athletes/all?gender=All&search=&page="+j);
doc = Jsoup.connect(URL).userAgent("mozilla/70.0.1").get();
temp = doc.select("div.c-listing-athlete__text");
for (Element fighterList:temp) {
i++;
System.out.println(i + " " + fighterList.getElementsByClass("c-listing-athlete__name").first().text());
}
【问题讨论】:
-
您不会显示实际写入文件的代码,但显而易见的是为每个页面创建一个新文件名,可能基于您刚刚下载的内容(例如
athletes1.athletes2等,视页码而定) -
和“meta-java”方法:使用“附加管道”:
java MyClass >> out.txt(从命令行调用时,linux + windows!),这将“管道”所有@987654326 @'s intoout.txt(>替换文件,>>附加到它(在每个程序运行时))...stackoverflow.com/q/5342832/592355