seawolf2357 commited on
Commit
f42fdaf
ยท
verified ยท
1 Parent(s): 885341f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -12
app.py CHANGED
@@ -3,7 +3,6 @@ import requests
3
  import feedparser
4
  from datetime import datetime, timedelta
5
 
6
- # ์ง€์›๋˜๋Š” ๊ตญ๊ฐ€ ๋ฐ ํ•ด๋‹น Google News URL
7
  SUPPORTED_COUNTRIES = {
8
  'United States': 'https://news.google.com/rss?hl=en-US&gl=US&ceid=US:en',
9
  'United Kingdom': 'https://news.google.com/rss?hl=en-GB&gl=GB&ceid=GB:en',
@@ -18,24 +17,30 @@ def get_news(country, keyword):
18
 
19
  url = SUPPORTED_COUNTRIES[country]
20
 
21
- # RSS ํ”ผ๋“œ ๊ฐ€์ ธ์˜ค๊ธฐ
22
- response = requests.get(url)
 
 
 
 
23
  feed = feedparser.parse(response.content)
24
 
25
- # ํ˜„์žฌ ์‹œ๊ฐ„ ๊ธฐ์ค€ 24์‹œ๊ฐ„ ์ „ ์‹œ๊ฐ„ ๊ณ„์‚ฐ
26
- time_threshold = datetime.now() - timedelta(hours=24)
27
 
28
- # ํ‚ค์›Œ๋“œ์™€ ์ผ์น˜ํ•˜๊ณ  24์‹œ๊ฐ„ ์ด๋‚ด์˜ ๋‰ด์Šค๋งŒ ํ•„ํ„ฐ๋ง
29
  filtered_news = []
30
  for entry in feed.entries:
31
- if keyword.lower() in entry.title.lower():
 
32
  pub_date = datetime(*entry.published_parsed[:6])
33
  if pub_date > time_threshold:
34
- filtered_news.append(f"Title: {entry.title}\nLink: {entry.link}\n")
35
 
36
- return "\n".join(filtered_news) if filtered_news else "No recent news found for the given keyword."
 
 
 
 
37
 
38
- # Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ
39
  iface = gr.Interface(
40
  fn=get_news,
41
  inputs=[
@@ -44,8 +49,7 @@ iface = gr.Interface(
44
  ],
45
  outputs="text",
46
  title="Google News Search",
47
- description="Search for news articles from the last 24 hours using Google News RSS feeds."
48
  )
49
 
50
- # ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰
51
  iface.launch()
 
3
  import feedparser
4
  from datetime import datetime, timedelta
5
 
 
6
  SUPPORTED_COUNTRIES = {
7
  'United States': 'https://news.google.com/rss?hl=en-US&gl=US&ceid=US:en',
8
  'United Kingdom': 'https://news.google.com/rss?hl=en-GB&gl=GB&ceid=GB:en',
 
17
 
18
  url = SUPPORTED_COUNTRIES[country]
19
 
20
+ try:
21
+ response = requests.get(url, timeout=10)
22
+ response.raise_for_status()
23
+ except requests.RequestException as e:
24
+ return f"Error fetching news: {str(e)}"
25
+
26
  feed = feedparser.parse(response.content)
27
 
28
+ time_threshold = datetime.now() - timedelta(hours=48) # 48์‹œ๊ฐ„์œผ๋กœ ํ™•์žฅ
 
29
 
 
30
  filtered_news = []
31
  for entry in feed.entries:
32
+ if (keyword.lower() in entry.title.lower() or
33
+ ('summary' in entry and keyword.lower() in entry.summary.lower())):
34
  pub_date = datetime(*entry.published_parsed[:6])
35
  if pub_date > time_threshold:
36
+ filtered_news.append(f"Title: {entry.title}\nLink: {entry.link}\nDate: {pub_date}\n")
37
 
38
+ if filtered_news:
39
+ return "\n".join(filtered_news)
40
+ else:
41
+ return (f"No recent news found for the keyword '{keyword}' in {country} "
42
+ f"within the last 48 hours.\nTry a different keyword or check back later.")
43
 
 
44
  iface = gr.Interface(
45
  fn=get_news,
46
  inputs=[
 
49
  ],
50
  outputs="text",
51
  title="Google News Search",
52
+ description="Search for news articles from the last 48 hours using Google News RSS feeds."
53
  )
54
 
 
55
  iface.launch()