当我执行这段代码时,来自网站的原始数据正在被编写,但是它的编写方式是相同内容的3-4倍。我不知道如何解析this..can,有人帮我解决这个问题。
我用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次.
发布于 2015-08-03 08:51:13
使用选择器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();
https://stackoverflow.com/questions/31782892
复制相似问题