java - 来自 url 的文本,但它被复制了 3 到 4 次

标签 java url jsoup

当我执行这段代码时,来自网站的原始数据正在被写入,但它被写入了相同内容的 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/

相关文章:

java - Jsoup:从表元素获取链接

java - listFiles - c 驱动器的 NullPointerException

java - 单击 recyclerview 项目后无法更改 fragment

java - 下载 Youtube 视频?

java - java中从URL获取页面内容

php - 使用签名算法版本 4 创建签名的 S3 下载链接

java - 在 JDK 1.5 中找不到包 javax.xml.bind

python - Django 管理 URL 可见重定向

java - 如何使用Jsoup通过ID查找元素?

java - 解析 JSOUP 表