几个小时前,我对 jsoup 完全陌生,但我一直在阅读一些初学者教程和问题,但我无法解决我的问题。我主要只是在猜测 css 标签的正确组合,但没有任何运气。
我要访问的元素是这一行的“id”标签,我想将它存储在一个字符串变量中以便更精确。
<div class="inElm" id="elm11329383">
它是文档中许多“inElm”类对象中的第一个,但我只需要第一个的“id”值。我会张贴图片,但我是菜鸟,这是我认为可行的...
69 Element link = doc.select("div#inElm").first();
70 String idTag = link.attr("id");
71 text.setText(idTag);
我很接近,还是我需要担心文档的层次结构才能找到它? 非常感谢任何建议!
这是整个私有(private)异步类:
private class jsouptest extends AsyncTask<Object, Object, Object>{
@Override
protected Object doInBackground(Object... arg0) {
Document doc = null;
String url = "http://www.pinkbike.com/photo/podlist/";
try {
doc = Jsoup.connect(url)
.userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
.referrer("http://www.google.com")
.get();
} catch (NullPointerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (HttpStatusException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element link = doc.select("div.inElm").first();
String idTag = link.attr("id");
text.setText(idTag);
return null;
}
}
最佳答案
inElm
是一个 class 属性,而不是 id。要按类选择
元素,您需要使用点 .
而不是 #
。所以试试
Element link = doc.select("div.inElm").first();
// change CSS query here -----^
关于java - Jsoup CSS 标签深入 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829383/