Giter Club home page Giter Club logo

yandex_news's Introduction

Приложения для парсинга новостей на примере yandex

Проект позволяет собирать (парсить) яндекс новости по московской области и складывать их в базу данных mysql. В качестве дополнительной опции, есть возможность загружать данные в MongoDB.

Логика работы приложения:

  1. Парсит новости по указанной ссылке
  2. Обрабатывает данные и выводит в формат dataframe
  3. Экспортирует данные в Mysql / MondogDB
  4. Изменяет формат данных в таблице 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:

 База данных загружена
 Формат данных изменен

Следующие шаги:

  1. Создание функции update при парсинге новых данных с учетом того, что мы уже загрузили в Mysql
  2. Создание приложения сервер - клиент с дополнительной возможностью скачать данные в формате csv
  3. Создание docker контейнера, который будет запускать сервис каждые 2 часа и складывать данные в базу данных

Контакты разработчика:

Озернов Михаил
[email protected]

yandex_news's People

Contributors

gad26032 avatar ozzypeople avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.