首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自url的文本,但是它会被复制3到4次。

来自url的文本,但是它会被复制3到4次。
EN

Stack Overflow用户
提问于 2015-08-03 08:39:38
回答 1查看 37关注 0票数 0

当我执行这段代码时,来自网站的原始数据正在被编写,但是它的编写方式是相同内容的3-4倍。我不知道如何解析this..can,有人帮我解决这个问题。

我用JSoup..。

代码语言:javascript
运行
复制
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次.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-03 08:51:13

使用选择器doc.select("div"),您可以获取文档中的所有div元素,以及其他div元素中的元素,从而导致一些重复。

也许你应该区分并且只选择你需要的。

如果您想获得完整的内容,则根本不需要Jsoup解析器。您仍然可以使用Jsoup进行网络访问,但是您可以省略如下解析器:

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
Document doc = Jsoup.connect("http://www.businessinsider.in/").get();
Element bodyEl = doc.body();
String bodySt = bodyEl.html();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31782892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档