Как парсить яндекс новости
Перейти к содержимому

Как парсить яндекс новости

  • автор:

Saved searches

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

parsing news, mysql, mongodb

OzzyPeople/Yandex_news

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

README.md

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

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

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

  1. Парсит новости по указанной ссылке
  2. Обрабатывает данные и выводит в формат dataframe
  3. Экспортирует данные в Mysql / MondogDB
  4. Изменяет формат данных в таблице Mysql с учетом специфики поля (текст, дата, ключ(primary key))

Список библиотек необходимых для запуска:

requests
pandas
bs4
datetime
numpy
sqlalchemy
pymysql
pymongo

Его можно скачать при помощи файла requirements.txt. Команда из терминала:
pip install -r requirements.txt.

Быстрый запуск:

Шаг 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 часа и складывать данные в базу данных

Как парсить новости с news.yandex и mail.ru на php

насколько нужны частые запросы? кэшируйте на своей стороне данные, обновляйте раз в 5 мин, и будет вам счастье.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать

kmx

А с яндекса парсить через RSS и прокси не пробовали?
года два назад прокатывало.
Ответ написан более трёх лет назад

foozzi

Igor Tkachenko @foozzi Автор вопроса
у них только определенные каналы rss новостей, свои нельзя формировать

marrk2

А кто ни будь замечал если выкинул капчу и с этого IP нет больше запросов Яндекс снимает капчу через какое-то время?

Ответ написан более трёх лет назад

marrk2

@itforge Ну не факт, бывает сяду за комп только, войду на яндекс а он капчу сразу просит ))) Вы не замечали через какое приблизительно время снимается?

О том, что на антигейте еле разгадывают даже цифровые капчи, а с русским языком не справляются, потому что там разрез стран — Индонезия и Пакистан, вы, наверное, не слышали.
У меня мегафоновские капчи (а там только цифры и ничего более) еле разгадывали, постоянно им мерещелись то буквы O, то A, то B, то колбаса мясная.
А яндекс со своими русскими словечками — импосибл.

При парсинге Яндекс Новостей выдает не свежую новость

Проблема заключается в том, что при работе кода, выдает почему то новости которые небыли указаны вообще, я код еще не дописал, но работоспособность решил проверить и вот такая тут проблема, пытаюсь парсить новости от туда с хештегом Москва река.

from turtle import Turtle from requests import request import requests from bs4 import BeautifulSoup URL = "https://newssearch.yandex.ru/news/search?text=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0+%D1%80%D0%B5%D0%BA%D0%B0&sortby=date" page = requests.get(URL) soup = BeautifulSoup(page.content, "html.parser") post = soup.find("h1", class_="mg-aria-label") post1 = soup.find("a", ="mg-snippet__url") print(post1) 

Отслеживать
2,252 2 2 золотых знака 10 10 серебряных знаков 37 37 бронзовых знаков
задан 20 мая 2022 в 8:14
5 2 2 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

import requests from bs4 import BeautifulSoup URL = 'https://newssearch.yandex.ru/news/' \ 'search?text=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0+%D1%80%D0%B5%D0%BA%D0%B0&sortby=date' page = requests.get(URL) soup = BeautifulSoup(page.content, "html.parser") postes = soup.findAll("article", class_="news-search-story news-search__main-item mg-grid__item") for post in postes: title = post.a.text url = post.a['href'] print(title) print(url) Мосводосток обследовал реку Лихоборку после жалоб на сине-фиолетовую воду https://www.msk.kp.ru/online/news/4763438/?utm_source=yxnews&utm_medium=desktop&utm_referrer=https%3A%2F%2Fyandex.ru%2Fnews%2Fsearch%3Ftext%3D В Москве река окрасилась в сине-фиолетовый https://mockva.ru/2022/05/26/365391.html?utm_source=yxnews&utm_medium=desktop&utm_referrer=https%3A%2F%2Fyandex.ru%2Fnews%2Fsearch%3Ftext%3D В Москве появилась фиолетовая река https://www.avtoradio.ru/news/uid/256461?utm_source=yxnews&utm_medium=desktop&utm_referrer=https%3A%2F%2Fyandex.ru%2Fnews%2Fsearch%3Ftext%3D . 

Отслеживать
ответ дан 26 мая 2022 в 16:03
4,294 4 4 золотых знака 7 7 серебряных знаков 22 22 бронзовых знака

  • python
  • парсер
  • beautiful-soup
    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

WPGrabber

Смотрите — заходим в любую из основных рубрик, скажем происшествия httpss://news.yandex.ru/incident.html , там есть кнопка rss = окей, то что надо! httpss://news.yandex.ru/incident.rss забираем rss с происшествиями и идет в наш плагин.

Что бы я не делал и как не менял настройки — все равно «пустая страница».

Вложения export(3).xml (6.13 КБ) 186 скачиваний
Последний раз редактировалось wturm 25 дек 2015, 22:06, всего редактировалось 1 раз.

WPGrabber Администратор Сообщения: 135 Зарегистрирован: 24 ноя 2015, 22:09 Откуда: СССР Благодарил (а): 4 раза Поблагодарили: 5 раз Контактная информация:

Re: Парсинг Яндекс Новости

Сообщение WPGrabber » 25 дек 2015, 16:32

В настройках ленты на вкладке Дополнительно измените Для запросов использовать метод на file_get_contents — https://prntscr.com/9idhea

wturm Новичок Сообщения: 5 Зарегистрирован: 25 дек 2015, 14:29

Re: Парсинг Яндекс Новости

Сообщение wturm » 25 дек 2015, 20:14

Пошло дело, спасибо большое!

Скажите, а если пробовать снипеты в выдаче яндекса парсить — возможно ли такое на кроне?

Admin Администратор Сообщения: 578 Зарегистрирован: 22 ноя 2015, 12:18 Откуда: СССР Благодарил (а): 48 раз Поблагодарили: 20 раз Контактная информация:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *