№3Урок по парсингу🐍
Сегодня мы продолжим уроки по парсингу.Сделаем маленкий сайт с данными парсера.Использовать буду Flask.
pip install Flask
Сделаю сервер и сделаю скрипт с просмотром времени.
import requests
from bs4 import BeautifulSoup
url = 'https://proglib.io/?tags%5B%5D=all&page=1'
responce = requests.get(url)
soup = BeautifulSoup(responce.text, 'html.parser')
content_card = soup.find_all('div', class_='preview-card__content')
review_card=soup.find_all('div',class_='preview-card__text')
content_list = []
review_list=[]
for card in content_card:
content_text = card.get_text(strip=True)
content_list.append(content_text)
for review in review_card:
review_text=review.get_text(strip=True)
review_list.append(review_text)
result = content_list +review_list
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="{{ url_for('static', filename='main.css') }}">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;700&display=swap" rel="stylesheet">
<title>Мой работы</title>
</head>
<body>
<header>
<div class="inner">
<div class="logo">
<div>
<h1>Утегенов Тархан</h1>
</div>
</div>
<nav>
<li><span><a href="">О проекте</a></span></li>
<li><span><a href="" class="button">Подпишись</a></span></li>
</nav>
</div>
</header>
<h1>{{greeting}}</h1>
<h1>Список новостей</h1>
<ul>
{% for content_item in content_list %}
<li>{{ content_item }}</li>
{% endfor %}
</ul>
<footer class="footer">
<div class="container">
<div class="row">
<div class="footer-col">
<h4>Автор</h4>
<ul>
<li><a href="#">Обо мне</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Помощь</h4>
<ul>
<li><a href="#">FAQ</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Github</h4>
<ul>
<li><a href="https://github.com/PythonsIDEAS/flask_site">Открытый код</a></li>
</ul>
</div>
</div>
</div>
</footer>
</body>
</html>
from flask import Flask,render_template
import datetime
app = Flask(__name__)
@app.route('/')
def hello():
now = datetime.datetime.now()
if now.hour >= 6 and now.hour < 12:
greeting = 'Доброе утро'
elif now.hour >= 12 and now.hour < 18:
greeting = 'Добрый день'
elif now.hour >= 18 and now.hour < 24:
greeting = 'Добрый вечер'
else:
greeting = 'Доброй ночи'
return render_template('main.html', greeting=greeting)
if __name__ == '__main__':
app.run(debug=True)
Теперь мы дадим сайту наши данные.
Дадим данные сайту.
from flask import Flask,render_template
import datetime
from scraper import result
app = Flask(__name__)
@app.route('/')
def hello():
now = datetime.datetime.now()
if now.hour >= 6 and now.hour < 12:
greeting = 'Доброе утро'
elif now.hour >= 12 and now.hour < 18:
greeting = 'Добрый день'
elif now.hour >= 18 and now.hour < 24:
greeting = 'Добрый вечер'
else:
greeting = 'Доброй ночи'
return render_template('main.html', greeting=greeting,content_list=result)
if __name__ == '__main__':
app.run(debug=True)
<ul>
{% for content_item in content_list %}
<li>{{ content_item }}</li>
{% endfor %}
</ul>
Ну вот и все.
Начать дискуссию