jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
下面是我写的一个案例欢迎大家参考:
package crawlerTest;import java.io.IOException;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;public class JsoupTest {public static void main(String[] args) throws IOException {/** 解析一个字符串*/String html = "<html><head><title>First parse</title></head>"+ "<body><p>Parsed HTML into a doc.</p></body></html>";Document doc = Jsoup.parse(html);System.out.println(doc);/** 解析url*/String url="/SearchForums?q=airbnb&x=18&y=10&pid=34633&s=+";Document doc1=Jsoup.connect(url).userAgent("bbb").timeout(50000).get();Elements ele=doc1.select("table[class=forumsearchresults]").select("tr[class~=firstpostrow?]");for (Element elem:ele) {String _id=elem.attr("id");String _url=""+elem.select("td[onclick~=setPID?]").select("a").attr("href");String _content=elem.select("td[onclick~=setPID?]").select("a").text();System.out.println(_id+"===="+_url+"===="+_content);}}}
下图为我输出的结果: