ఖచ్చితంగా, NewsAPI మరియు Flask వెబ్ ఫ్రేమ్వర్క్ని ఉపయోగించి పైథాన్లో ప్రాథమిక న్యూస్ అగ్రిగేటర్ ఇక్కడ ఉంది:
కొండచిలువfrom flask import Flask, render_template
import requests
app = Flask(__name__)
# Set your NewsAPI key
api_key = "YOUR_API_KEY"
# Define the base URL for NewsAPI requests
base_url = "https://newsapi.org/v2/"
# Define the endpoints for top headlines and everything news
top_headlines_endpoint = "top-headlines"
everything_endpoint = "everything"
# Define the parameters for NewsAPI requests
params = {
"apiKey": api_key,
"pageSize": 10,
"language": "en"
}
@app.route('/')
def home():
# Make a request to NewsAPI for top headlines
top_headlines_response = requests.get(f"{base_url}{top_headlines_endpoint}", params=params)
top_headlines = top_headlines_response.json()["articles"]
# Make a request to NewsAPI for everything news
everything_response = requests.get(f"{base_url}{everything_endpoint}", params=params)
everything_news = everything_response.json()["articles"]
# Render the home page with the top headlines and everything news
return render_template("home.html", top_headlines=top_headlines, everything_news=everything_news)
if __name__ == '__main__':
app.run(debug=True)
NewsAPI నుండి వార్తలను సమగ్రపరిచే వెబ్ అప్లికేషన్ను రూపొందించడానికి ఈ కోడ్ Flask వెబ్ ఫ్రేమ్వర్క్ను ఉపయోగిస్తుంది. requests
న్యూస్ఏపీఐ ఎండ్పాయింట్లకు HTTP అభ్యర్థనలను చేయడానికి లైబ్రరీ ఉపయోగించబడుతుంది మరియు హోమ్ render_template
పేజీ కోసం HTML టెంప్లేట్ను అందించడానికి ఫంక్షన్ ఉపయోగించబడుతుంది.
YOUR_API_KEY
ఈ కోడ్ని ఉపయోగించడానికి, మీరు మీ అసలు NewsAPI కీని భర్తీ చేయాలి . మీరు https://newsapi.org/register లో ఉచిత NewsAPI కీ కోసం సైన్ అప్ చేయవచ్చు .
మీరు మీ Flask అప్లికేషన్ డైరెక్టరీలో హోమ్ పేజీ ( home.html
) కోసం HTML టెంప్లేట్ను కూడా సృష్టించాలి . templates
ఇక్కడ ఒక ఉదాహరణ home.html
టెంప్లేట్ ఉంది:
html<!DOCTYPE html>
<html>
<head>
<title>News Aggregator</title>
</head>
<body>
<h1>Top Headlines</h1>
{% for article in top_headlines %}
<h2>{{ article.title }}</h2>
<p>{{ article.description }}</p>
<p>Source: {{ article.source.name }}</p>
<a href="{{ article.url }}">Read More</a>
{% endfor %}
<hr>
<h1>Everything News</h1>
{% for article in everything_news %}
<h2>{{ article.title }}</h2>
<p>{{ article.description }}</p>
<p>Source: {{ article.source.name }}</p>
<a href="{{ article.url }}">Read More</a>
{% endfor %}
</body>
</html>
ఈ టెంప్లేట్ టాప్ హెడ్లైన్లను మరియు NewsAPI అభ్యర్థనల ద్వారా అందించబడిన అన్ని వార్తలను ప్రదర్శిస్తుంది.