添加对于“/feed/,rss.xml,feed.xml”的支持

This commit is contained in:
柳神 2024-07-26 19:43:34 +08:00
parent c829c12165
commit aa2a8ec8d4
3 changed files with 37 additions and 6 deletions

View File

@ -60,11 +60,12 @@ def check_feed(blog_url, session):
"""
atom_url = blog_url.rstrip('/') + '/atom.xml'
rss_url = blog_url.rstrip('/') + '/rss2.xml'
rss_url = blog_url.rstrip('/') + '/rss.xml' # 2024-07-26 添加 /rss.xml内容的支持
rss2_url = blog_url.rstrip('/') + '/rss2.xml'
feed_url = blog_url.rstrip('/') + '/feed'
# 2024-07-25 添加 /index.xml内容的支持
index_url = blog_url.rstrip('/') + '/index.xml'
feed2_url = blog_url.rstrip('/') + '/feed.xml' # 2024-07-26 添加 /feed.xml内容的支持
feed3_url = blog_url.rstrip('/') + '/feed/' # 2024-07-26 添加 /feed/内容的支持
index_url = blog_url.rstrip('/') + '/index.xml' # 2024-07-25 添加 /index.xml内容的支持
try:
atom_response = session.get(atom_url, headers=headers, timeout=timeout)
@ -76,7 +77,14 @@ def check_feed(blog_url, session):
try:
rss_response = session.get(rss_url, headers=headers, timeout=timeout)
if rss_response.status_code == 200:
return ['rss2', rss_url]
return ['rss', rss_url]
except requests.RequestException:
pass
try:
rss_response = session.get(rss2_url, headers=headers, timeout=timeout)
if rss_response.status_code == 200:
return ['rss2', rss2_url]
except requests.RequestException:
pass
@ -86,7 +94,14 @@ def check_feed(blog_url, session):
return ['feed', feed_url]
except requests.RequestException:
pass
try:
feed_response = session.get(feed2_url, headers=headers, timeout=timeout)
if feed_response.status_code == 200:
return ['feed2', feed2_url]
except requests.RequestException:
pass
try:
feed_response = session.get(index_url, headers=headers, timeout=timeout)
if feed_response.status_code == 200:
@ -94,6 +109,13 @@ def check_feed(blog_url, session):
except requests.RequestException:
pass
try:
feed_response = session.get(feed3_url, headers=headers, timeout=timeout)
if feed_response.status_code == 200:
return ['feed3', feed3_url]
except requests.RequestException:
pass
return ['none', blog_url]
def parse_feed(url, session, count=5):

View File

@ -1,5 +1,6 @@
from fastapi import FastAPI
from fastapi.responses import JSONResponse, HTMLResponse
from fastapi.middleware.cors import CORSMiddleware
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from threading import Lock
import logging
@ -12,6 +13,14 @@ from friend_circle_lite.get_conf import load_config
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # 允许的域
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# 配置APScheduler
scheduler = AsyncIOScheduler()
scheduler.start()