jsoup意外行为并找到一个类的所有div

时间:2016-07-30 07:14:51

标签: java jquery html css jsoup

我正在使用jsoup使用以下命令解析网页

Document document = Jsoup.connect("http://www.blablabla.de/").get();

然后

System.out.println(document.toString());

我得到了理想的结果。但保存主题网页,然后尝试执行相同的操作

Document doc = Jsoup.parse("/user/test/test.html","UTF-8");
System.out.println(doc.toString());

我得到了

html
head head
body
/home/1.html
body
html

我的第二个问题是我想获得特定类的每个div的内容。我正在使用

Elements elements = document.select("div.things.subthings");

我想要捕获的div如下

<div class="col_a col text">
    <div class="text">
     done
    </div>
</div>

1 个答案:

答案 0 :(得分:2)

  

但是保存主题网页然后尝试执行相同的操作

调用错误的方法。实际上,调用的方法就是这个:

static Document Jsoup::parse(String html, String baseUri) // Parse HTML into a Document.

你想打电话给这个:

static Document parse(File in, String charsetName) // Parse the contents of a file as HTML.

请改为尝试:

Document doc = Jsoup.parse(new File("/user/test/test.html"), "UTF-8");
System.out.println(doc.toString());
  

我的第二个问题是我想获得特定类的每个div的内容。

尝试下面的一个css查询:

查找class="col_a col text"

的所有div
div.col_a.col.text

使用class="col_a col text"class="text"

查找所有div
div.col_a.col.text, div.text

查找class="col_a col text"所有div,其后代中包含class="text"的div

div.col_a.col.text:has(div.text)