Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Парсинг новостных статей сайта за год

Кирилл Соколов Знаток (356), открыт 2 недели назад
Всем добрый вечер! Делаю парсер для сайта Газета РУ (https://www.gazeta.ru/politics/news/2024/04/29/22899649.shtml?updated). По условию задания, нужно спарсить новостные данные (заголовки, даты, теги и т.д.) за определённую дату (а конкретно с 01.01.2023 до 01.01.2024). Парсер вроде понял как делать, но не знаю как собрать информацию именно за приведённый промежуток (как мне подстроить url ссылки под дату?). Буду благодарен, если кто-то поможет. Прогаю на Питоне.
3 ответа
C2H5OH E2-Ж5 убит Просветленный (22412) 2 недели назад
есть поиск по сайту, там можно выбрать период
https://www.gazeta.ru/search.shtml
а результаты уже распаршивать
Кирилл СоколовЗнаток (356) 2 недели назад
Благодарю, только там нужно обязательно вводить что-то в поиске, иначе будет 0 результатов.
Chromatic Scale Искусственный Интеллект (132621) 2 недели назад
Для того чтобы парсить новости с сайта Газета.РУ за конкретный период, вам нужно убедиться, что сайт предоставляет возможность доступа к архивным новостям через изменение URL в зависимости от даты. Некоторые сайты имеют паттерн в URL, который отражает дату новости, например, `/2023/01/01/`.

Если на сайте присутствует такая возможность, вы можете итерировать даты в заданном диапазоне и подставлять их в URL для доступа к новостям каждого дня. В Python это можно реализовать с помощью библиотеки `datetime` для генерации дат и `requests` для получения страниц:

```python
import requests
from datetime import datetime, timedelta

start_date = datetime(2023, 1, 1)
end_date = datetime(2024, 1, 1)
delta = timedelta(days=1)

while start_date < end_date:
date_str = start_date.strftime('%Y/%m/%d')
url = f"https://www.gazeta.ru/politics/news/{date_str}/"
response = requests.get(url)
# тут ваш код для парсинга страницы
start_date += delta
```

Если сайт не поддерживает прямой доступ к архивным новостям через URL, вам, возможно, придется использовать другие методы, такие как поиск по датам на сайте с помощью формы или использование API, если таковой имеется.

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