想要获取网页中的元素,有很多种方法。

java 获取网页内容json java获取网页元素_父类

如上图所示,我要获取div下的img标签下的src的内容

之前我的思维是直接定位到div,然后进行爬取:

Elements imgDiv = topicReplys.select(".smallImg.clearfix.topic"); 
 String img = imgDiv.attr("src");

(topicReplys 是这个页面的一个div;select里面的内容就是上图第一行class里的内容,因为这三者之间有空格,可以用点来隔开,也可以用select()方法执行,代码如下:

Elements imgDiv = topicReplys.select(".smallImg").select(".clearfix").select(".topic");

但是如果这些内容不在一个标签下面,不可以用最上面这种写法。

但是这样是无法获取img标签下的内容,虽然img是在div标签下面,但是如果想要获取某一个标签里的内容需要定位到该具体的标签上。定位到其父类的标签还是无法获取的。如下再进一步进行定位即可获取:

Elements imgDiv = topicReplys.select(".smallImg.clearfix.topic").select("a").select("img");              
 String img = imgDiv.attr("src");
 //上面一行代码也可以这样写:通过属性名前缀获取
 String img = imgDiv.selct(img[^src])