from flask import Flask, render_template
from bs4 import BeautifulSoup
import requests
app = Flask(__name__)
@app.route('/')
def home():
news_daikin = get_news('https://www.daikin.com/news')
return render_template('home.html', news_daikin=news_daikin)
def get_news(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
news = []
# you will need to inspect the website and identify the correct tags or classes
for article in soup.find_all('article'):
title = article.find('h2').text
link = article.find('a')['href']
news.append({'title': title, 'link': url + link})
return news
if __name__ == '__main__':
app.run(debug=True)
And here’s the modified home.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Latest News</title>
</head>
<body>
<h1>Daikin News</h1>
{% for news_item in news_daikin %}
<h2><a href="{{ news_item.link }}">{{ news_item.title }}</a></h2>
{% endfor %}
</body>
</html>
Remember to replace 'article'
, 'h2'
, and 'a'
with the actual tags or classes used in the Daikin news website for articles, titles, and links, respectively. You might need to inspect the HTML of the page to find out what these are. This is just an example and might not work as is because web pages structure can vary.