最好的方法是什么?
我想解析新闻,然后使用类似关键字的内容过滤它们并找到匹配项。
有人已经做过吗?而且,这是合法的吗?
答案 0 :(得分:1)
您可以使用google news url http://news.google.com/?output=rss的RSS Feed,它会在带有html标签的rss标签中返回google rss news。然后编写自定义代码来读取/解析xml或使用任何现有的RSS阅读库,如https://github.com/vgrec/SimpleRssReader
答案 1 :(得分:0)
我已经编写了一个函数来完成此操作,该函数每次都将返回随机新闻的链接和标题。
public Document getNews() {
Document news = new Document();
URL rssUrl = null;
try {
rssUrl = new URL("https://news.google.com/rss");
} catch (MalformedURLException e) {
e.printStackTrace();
}
DocumentBuilder builder = null;
try {
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
org.w3c.dom.Document doc = null;
try {
doc = builder.parse(rssUrl.openStream());
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
NodeList items = doc.getElementsByTagName("item");
Element item = (Element) items.item(new Random().nextInt(items.getLength()));
news.append("title", getValue(item, "title"));
news.append("link", getValue(item, "link"));
return news;
}
private String getValue(Element parent, String nodeName) {
return parent.getElementsByTagName(nodeName).item(0).getFirstChild().toString();
}