Jsoup 迭代元素导致重复输出
Jsoup iterate over Elements causes duplicated output
我有一个页面 link 可以从中提取一些数据(我想获取表的一些 tds 属性)。
我使用 for 循环通过元素进行迭代,我必须提取一些属性
它的。但我得到重复的输出。
输出应该像我 post
末尾图像的输出
Document doc = Jsoup.connect("http://www.saudisale.com/SS_a_mpg.aspx").get();
Elements elements = doc.select("table").select("tbody").select("tr").select("td") ;
for(Element e:elements) {
System.out.println(e.select("span[id~=Label4]").text() +
"\t" + e.select("input[id$=ImageButton1]").attr("src") +
"\t" + "" + e.select("span[id~=Label13]").text());
}
这是我得到的输出,它们是重复的!!! :
The output should be like this:-
你能试试下面的代码吗?
Elements description = doc.select("tbody");
doc=Jsoup.parse(description.html());
description = doc.select("td");
for(int j = 0; j < description.size(); ++ j)
{
String bodytext = description.eq(j).text(); // bodytext is the text of each TD
}
我改用带有递增计数器的 for 循环,问题解决了。
其中 31 是该页面上的项目数
以下代码给出了所需的输出。
for(int i=1;i<description.size();i++)
{
System.out.println(elements.select("td").select("span[id~=Label4]").get(i).text()+""+elements.select("td").select("input[id$=ImageButton1]").get(i).attr("src"));
}
我有一个页面 link 可以从中提取一些数据(我想获取表的一些 tds 属性)。
我使用 for 循环通过元素进行迭代,我必须提取一些属性 它的。但我得到重复的输出。
输出应该像我 post
末尾图像的输出Document doc = Jsoup.connect("http://www.saudisale.com/SS_a_mpg.aspx").get();
Elements elements = doc.select("table").select("tbody").select("tr").select("td") ;
for(Element e:elements) {
System.out.println(e.select("span[id~=Label4]").text() +
"\t" + e.select("input[id$=ImageButton1]").attr("src") +
"\t" + "" + e.select("span[id~=Label13]").text());
}
这是我得到的输出,它们是重复的!!! :
The output should be like this:-
你能试试下面的代码吗?
Elements description = doc.select("tbody");
doc=Jsoup.parse(description.html());
description = doc.select("td");
for(int j = 0; j < description.size(); ++ j)
{
String bodytext = description.eq(j).text(); // bodytext is the text of each TD
}
我改用带有递增计数器的 for 循环,问题解决了。 其中 31 是该页面上的项目数
以下代码给出了所需的输出。
for(int i=1;i<description.size();i++)
{
System.out.println(elements.select("td").select("span[id~=Label4]").get(i).text()+""+elements.select("td").select("input[id$=ImageButton1]").get(i).attr("src"));
}