我正在使用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/