当我执行这段代码时,来自网站的原始数据正在被写入,但它被写入了相同内容的 3-4 倍..我不知道如何解决这个问题..任何人都可以帮助我..
我使用 JSoup..
public static void main(String a[])
{
try
{
//URL url=new URL("https://in.yahoo.com/?p=us");
Document doc = Jsoup.connect("http://www.businessinsider.in/").get();
Elements contents = doc.select("div") ;
PrintWriter out = new PrintWriter(new FileWriter("E:/outputtext.txt"));
for(Element p : contents) {
out.print(p.text());
}
catch(Exception e)
{
e.printStacktrace();
}
}
网站的内容会保存在该 .txt 文件中,但内容会在同一个文件中复制 3-4 次...
最佳答案
使用选择器 doc.select("div")
,您可以选取文档中的所有 div
元素,以及其他 div
中的元素> 元素,导致一些重复。
也许您应该区分并只选择您需要的。
如果你想获得完整的内容,你根本不需要Jsoup解析器。您仍然可以使用 Jsoup 进行网络访问,但您可以省略解析器,如下所示:
Connection con = Jsoup.connect("http://www.businessinsider.in/");
Response res = con.execute();
String rawContent = res.body();
PrintWriter out = new PrintWriter(new FileWriter("E:/outputtext.txt"));
out.print(rawContent);
或者,如果您毕竟使用了解析器,则可以获得 body
标记而不是 div
Document doc = Jsoup.connect("http://www.businessinsider.in/").get();
Element bodyEl = doc.body();
String bodySt = bodyEl.html();
关于java - 来自 url 的文本,但它被复制了 3 到 4 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31782892/