如何从Jsoup的网站上获取最后5篇文章

时间:2018-03-29 05:50:24

标签: java html web-scraping jsoup

我目前在公司的一个Java桌面应用程序上工作,他们问我,从网页中提取最后5篇文章并在应用程序中显示它们。要做到这一点,我当然需要一个HTML解析器,我直接想到了JSoup。但我的问题是我该怎么做呢?我从这个问题中找到了一个简单的例子:Example: How to “scan” a website (or page) for info, and bring it into my program?

使用此代码:

#first delete the existing worksheet
existing_spreadsheet <- gs_ws_delete(existing_spreadsheet, "work sheet title you want updated")
# Then add the newworksheet with new data
gs_ws_new(existing_spreadsheet
        , ws_title = "worksheet title" 
        , input = your_new_data #data.frame or data.table
        , trim = TRUE  #optional if you want your worksheet trimed
      )

这段代码是由BalusC编写的,我理解它,但是当链接没有修复时我该怎么办呢,例如大多数报纸就是这种情况。为了简单起见,我将如何从这个新闻页面中提取最后5篇文章:News? 我不能使用RSS提要,因为我的老板想要显示完整的文章。

1 个答案:

答案 0 :(得分:0)

首先,您需要下载主页:

    Document doc = Jsoup.connect("https://globalnews.ca/world/").get();

然后选择您感兴趣的链接,例如css selectors 您选择包含a文字href的所有globalnews代码,并将其嵌套在h3代码中,其中包含类story-h。网址位于href标记的a属性中。

    for(Element e: doc.select("h3.story-h > a[href*=globalnews]")) {
        System.out.println(e.attr("href"));
    }

然后您可以按照自己的意愿处理生成的网址。您可以使用第一行中的语法等下载前五个内容。