🎉 add rssdemo

This commit is contained in:
fuhouyin 2023-09-11 16:52:25 +08:00
parent d9e21a6998
commit 6d93855dcf
3 changed files with 99 additions and 1 deletions

12
pom.xml
View File

@ -62,6 +62,12 @@
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.16.1</version>
</dependency>
<!-- 国密SM4 -->
<dependency>
<groupId>org.bouncycastle</groupId>
@ -81,6 +87,12 @@
<version>1.8</version>
</dependency>
<dependency>
<groupId>net.sf.sociaal</groupId>
<artifactId>freetts</artifactId>
<version>1.2.2</version>
</dependency>
</dependencies>
<build>

View File

@ -0,0 +1,86 @@
package demo;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Locale;
public class RssGetDemo {
private final static SimpleDateFormat rssDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH);
public static void main(String[] args) throws Exception {
//ruanyifeng();
//helloGithub();
//zhihu();
//solidot();
//maqianzu();
//yuanshen();
}
public static void ruanyifeng() throws Exception {
// 从URL获取RSS源
Document doc = Jsoup.connect("https://www.ruanyifeng.com/blog/atom.xml").get();
System.out.println(doc);
// 使用CSS选择器来查找特定的元素
Elements items = doc.select("entry");
for (Element item : items) {
String title = item.select("title").text();
String link = item.select("link[rel=alternate]").attr("href");
String description = item.select("summary").text();
String pubDate = item.select("published").text();
String content = item.select("content").text();
DateTimeFormatter formatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
LocalDateTime dateTime = LocalDateTime.parse(pubDate, formatter);
Date date = Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant());
System.out.println("Title: " + title);
System.out.println("Link: " + link);
System.out.println("Description: " + description);
System.out.println("Publication Date: " + pubDate);
System.out.println("content" + content);
}
}
public static void helloGithub() throws Exception {
getStandardRss("https://hellogithub.com/rss",86400000);
}
public static void getStandardRss(String url,long time) throws Exception {
// 从URL获取RSS源
Document doc = Jsoup.connect(url).get();
System.out.println(doc);
// 使用CSS选择器来查找特定的元素
Elements items = doc.select("item");
for (Element item : items) {
String title = item.select("title").text();
String link = item.select("link").text();
String description = item.select("description").text();
String pubDate = item.select("pubDate").text();
Date date = rssDateFormat.parse(pubDate);
System.out.println("Title: " + title);
System.out.println("Link: " + link);
System.out.println("Description: " + description);
System.out.println("Publication Date: " + pubDate);
System.out.println("date :"+ date);
long i = new Date().getTime() - date.getTime();
System.out.println("时差:"+i);
}
}
}

View File

@ -1,4 +1,4 @@
package Feishu;
package feishu;
import com.alibaba.fastjson2.JSONObject;
import org.springframework.web.client.RestTemplate;