in check-blogs/main.py [0:0]
def get_blog_posts(rss_url):
page = requests.get(rss_url)
soup = BeautifulSoup(page.content, "xml")
blog_map = {}
blogs = soup.find_all("item")
category = soup.find("title").contents[0]
for blog in blogs:
try:
guid = blog.find("guid").contents[0]
title = blog.find("title").contents[0]
link = blog.find("link").contents[0]
description = blog.find("description").contents[0]
pub_date = blog.find("pubDate").contents[0]
pub_date = (
datetime.strptime(pub_date, "%a, %d %b %Y %H:%M:%S +0000")
.astimezone(timezone("US/Eastern"))
.replace(second=0, minute=0, hour=0, microsecond=0)
.date()
)
today_date = (
datetime.now()
.astimezone(timezone("US/Eastern"))
.replace(second=0, minute=0, hour=0, microsecond=0)
.date()
)
is_updated_today = pub_date == today_date
if is_updated_today:
blog_map[guid] = {
"category_name": category,
"title": title,
"link": link,
"date": pub_date.strftime("%B %d, %Y"),
}
except AttributeError as e:
continue
return blog_map