java - 如何从java中的任何网页获取标题文本

标签 java jtidy

我正在使用java从网页中获取标题文本。

我已使用标签名称从网页中获取图像,如下所示:

    int i=1; 
InputStream in=new URL("www.yahoo.com").openStream();
org.w3c.dom.Document doc= new Tidy().parseDOM(in, null);   
    NodeList img=doc.getElementsByTagName("img");
ArrayList<String> list=new ArrayList<String>();                   
    list.add(img.item(i).getAttributes().getNamedItem("src").getNodeValue());

它正在工作,但我想使用相同的代码从网页(www.yahoo.com)获取标题标签 如上所述。我已经提到了 getElementsByTagName("title");但它不起作用。 请帮助我,如何使用上面的 jtidy 解析器来做到这一点。

最佳答案

注意 NodeList 索引从 0 开始(我看到你的“int i = 1;”)http://download.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/NodeList.html .

此外,您可以“getNodeValue()”获取属性(即“src”),但不能获取元素 http://download.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Node.html 。在这种情况下,您可以使用“getTextContent()”,因为我不相信“title”标签有子元素。所以:

String titleText = doc.getElementsByTagName("title").item(0).getTextContent(); 

或者:

String titleText = doc.getElementsByTagName("title").item(0).getFirstChild().getNodeValue(); 

关于java - 如何从java中的任何网页获取标题文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5919476/

相关文章:

java - jTidy html 到 xhtml 返回空文件

java - 如何在税务程序 [Java] 中对我的输出进行四舍五入?

java - 使用引用变量指向比较器?

java - 在以下情况下无法获得列表集合的工作

java - 从包含文本的父节点获取 NodeList

java - 以编程方式验证 HTML 代码

java - Android - 操作 Twitter 个人资料图片

java - 如何通过 Stream 将 HashMap<String, Long> 更改为 LinkedHashMap<String, Long>

java - 如何使用 JTidy 验证 HTML?

java - 如何删除 XML 中作为 XML 消息一部分的 < 和 >