Проект позволяет собирать (парсить) яндекс новости по московской области и складывать их в базу данных mysql. В качестве дополнительной опции, есть возможность загружать данные в MongoDB.
- Парсит новости по указанной ссылке
- Обрабатывает данные и выводит в формат dataframe
- Экспортирует данные в Mysql / MondogDB
- Изменяет формат данных в таблице Mysql с учетом специфики поля (текст, дата, ключ(primary key))
Ссылка для парсинга:
url = 'https://news.yandex.ru/Moscow_and_Moscow_Oblast/index.html'
requests
pandas
bs4
datetime
numpy
sqlalchemy
pymysql
pymongo
Его можно скачать при помощи файла requirements.txt. Команда из терминала:
pip install -r requirements.txt.
Кроме этого, необходимо установить Mysql server https://dev.mysql.com/downloads/mysql/
или Mongodb https://docs.mongodb.com/manual/installation/
Шаг 1. Скачать все библиотеки, скачать все файлы из репозитория. Список файлов:
change_data_type_mysql.py
parse_news.py
request_site.py
requirements.txt
time_convey.py
upload_mongo.py
upload_mysql.py
Шаг 2.Выбрать вариант:
загрузка данных в Mysql
При использовании Mysql, необходимо изменить параметры Mysql на свои в файле upload_mysql.py:
- host
- user
- password
- db_name #если хотите использовать свое название
загрузка данных в MongoDB
При использовании Mysql, необходимо изменить текущие параметры MongoDB на свои в файле upload_mongo.py:
Текущие параметры:
IP адрес - 127.0.0.1
Port - 27017
Строка кода, где это изменить:
client = MongoClient('mongodb://127.0.0.1:27017')
Шаг 3. Запустить главный файл командой строке.
При запуске из Terminal необходимо находиться в папке, где лежать все файлы.
Пример запуска Mysql:
python upload_mysql.py
Пример запуска MongoDb:
python upload_mongo.py
В результате успешного выполнения коды, вы увидите в Terminal:
База данных загружена
Формат данных изменен
- Создание функции update при парсинге новых данных с учетом того, что мы уже загрузили в Mysql
- Создание приложения сервер - клиент с дополнительной возможностью скачать данные в формате csv
- Создание docker контейнера, который будет запускать сервис каждые 2 часа и складывать данные в базу данных
Озернов Михаил
[email protected]