我目前在公司的一个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提要,因为我的老板想要显示完整的文章。
答案 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"));
}
然后您可以按照自己的意愿处理生成的网址。您可以使用第一行中的语法等下载前五个内容。