嘿伙计我刚刚开始使用Jsoup而且桌子上有一个小问题。 我试图从这个网站解析汽车细节 http://mywheels.ie/car-history-check/free-car-check-results/?VRN=00c31865 但是真的不知道该怎么做。有人可以告诉我如何解决这个表并从中复制至少一个元素吗?提前谢谢
Elements table = doc.select("table");
Elements row = doc.select("table[width=\"100%\"] [cellspacing=\"0px\"] [cellpadding=\"0px\"]");
Iterator<Element> iterator = row.listIterator();
while(iterator.hasNext())
{
Element element = iterator.next();
String id = element.attr("id");
String classes = element.attr("class");
String value = element.text();
System.out.println("Id : " + id + ", classes : " + classes+ ", value : " + value);
}
答案 0 :(得分:1)
我可以建议你创建一个JAVA项目来测试Jsoup,因为它更快。 我完全重构了你的代码。我使用描述性变量名来更容易理解。这是代码:
Document doc;
try {
doc = Jsoup.connect("http://mywheels.ie/car-history-check/free-car-check-results/?VRN=00c31865").get();
Element containingDiv = doc.select(".free-vehicle-report-topDiv").first();
Elements table = containingDiv.select("table");
Elements rows = table.select("tr");
for (Element row : rows) {
System.out.println("label: "+row.child(0).text()+", value:"+row.child(1).text());
// LOG.i("label: "+row.child(0).text()+", value:"+row.child(1).text());
}
} catch (IOException e) {
e.printStackTrace();
}
我在JAVA中测试过,在android中你可以注释掉Log.i方法调用而不是System.out.println。 这并不困难。祝你好运。