2016-08-23 68 views
0

我是使用jsoup和html的新手。我想知道如何从Google新闻首页的故事中提取标题和链接(如果可能的话)。这里是我的代码:Java - 如何使用Jsoup提取Google新闻标题和链接?

org.jsoup.nodes.Document doc = null; 
       try { 
        doc = (org.jsoup.nodes.Document) Jsoup.connect("https://news.google.com/").get(); 
       } catch (IOException e1) { 
        // TODO Auto-generated catch block 
        e1.printStackTrace(); 
       } 
       Elements titles = doc.select("titletext"); 

       System.out.println("Titles: " + titles.text()); 


       //non existent 
       for (org.jsoup.nodes.Element e: titles) { 
        System.out.println("Title: " + e.text()); 
        System.out.println("Link: " + e.attr("href")); 
       } 

出于某种原因,我认为我的计划是无法找到titletext,因为这是在输出时的代码运行:Titles:

我将非常感谢您的帮助,谢谢。

+0

尝试doc.select(“span.titletext”); – tonakai

+2

是否有理由不使用更容易解析[RSS提要](https://news.google.com/news?output=rss)? –

回答

0

首先获得与H2的HTML标记

Elements elem = html.select("h2"); 

开始现在你必须元素,它具有一些子元素(S)(ID,HREF,originalhref等)的所有节点/元素。这里您需要检索您需要的这些数据。

for(Element e: elem){ 
     System.out.println(e.select("[class=titletext]").text()); 
     System.out.println(e.select("a").attr("href")); 
    }