您的位置:首页 > 理论基础 > 计算机网络

【使用JSOUP实现网络爬虫】从元素抽取属性,文本和HTML

2013-11-07 13:43 771 查看

问题

在解析获得一个Document实例对象,并查找到一些元素之后,你希望取得在这些元素中的数据。

方法

要取得一个属性的值,可以使用
Node.attr(String   key)
方法
对于一个元素中的文本,可以使用
Element.text()
方法
对于要取得元素或属性中的HTML内容,可以使用
Element.html()
, 或
Node.outerHtml()
方法
示例:
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);//解析HTML字符串返回一个Document实现
Element link = doc.select("a").first();//查找第一个a元素

String text = doc.body().text(); // "An example link"//取得字符串中的文本
String linkHref = link.attr("href"); // "http://example.com/"//取得链接地址
String linkText = link.text(); // "example""//取得链接地址中的文本

String linkOuterH = link.outerHtml();
// "<a href="http://example.com"><b>example</b></a>"
String linkInnerH = link.html(); // "<b>example</b>"//取得链接内的html内容

说明

上述方法是元素数据访问的核心办法。此外还其它一些方法可以使用:
Element.id()

Element.tagName()

Element.className()
and
Element.hasClass(String   className)

这些访问器方法都有相应的setter方法来更改数据.

参见

Element
Elements
集合类的参考文档
URLs处理
使用CSS选择器语法来查找元素
阅读更多JSOUP相关文章,请看专栏:《使用JSOUP实现网络爬虫》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络爬虫 jsoup