Comments 9
Спасибо! Полезная статья, прочитал с удовольствием !
UPD
Телеграм канал, на котором можно оценить работу агрегатора @gazp_news, новости добавляются в будние дни в промежутке с 9:30 до 18:45-23:00, в это время у меня обычно включен тонкий клиент.
Прикольно, спасибо.
Вышла новость, как понять, что она про конкретную компанию?
В телеге походу стоит слово на фильтр газ
В файле main.py
в сложном агрегаторе вот в этой функции:
def check_pattern_func(text):
'''Вибирай только посты или статьи про газпром или газ'''
words = text.lower().split()
key_words = [
'газп', # газпром
'газо', # газопровод, газофикация...
'поток', # сервеный поток, северный поток 2, южный поток
'спг', # спг - сжиженный природный газ
'gazp',
]
for word in words:
if 'газ' in word and len(word) < 6: # газ, газу, газом, газа
return True
for key in key_words:
if key in word:
return True
return False
Она кстати не всегда срабатывает верно, частенько может новость про турпоток или финпоток пропустить. Но в принципе это не так страшно. Там сейчас фильтруются новости про газпром, газ и всё с этим связанное.
Можно ли в сложном агрегаторе обойтись без бота. С какой целью он добавлен в код?
Можно и обойтись, добавлен с двумя целями:
- Если отправлять новости со своего логина через telethon, то сообщения в телеграме будут помечены как прочитанные. Это неудобно, когда заходишь в телефон обычно сразу смотришь на непрочитанные сообщения.
- Если вдруг случится фатальная ошибка и отвалится один из источников новостей или вдруг накроется весь агрегатор, то в таком случае сообщение с ошибкой об этом через бот отправляется напрямую в новостной канал через telegram api (telethon клиент может уже не работать)
Жесткий говнокод и такая же тема. И больше смахивает на попытку рекламы канала. Ибо парсинг на питоне это самая популярная тема со времен его создания. Это как написать:"Представляете узнал сегодня, оказывается есть язык программирования python и сейчас я расскажу как на нем писать простые скрипты".. Да еще и делать агрегатор на агрегатор*face_palm* их итак в телеграмм сотни финансовых. Забили уже каналы связи, что на сайтах, что в самой телеге, своими ддос скриптами кривыми)) и бессмысленными. Ибо доступная информация в открытых источниках уже отыграна рынком, тк вначале она в платных терминалах появляется того же интерфакса/прайма это часть их бизнес-модели продавать информацию. Написал бы скрипт, как получать биржевые данные в реальном времени ММВБ для эмитентов вот этот была бы возможно актуальная информация. Но парсинг сайта, тг канала... Вбиваешь в яндекс и тебе сотни примеров и скриптов выдаст на любой вкус и цвет
Я планировал сам сделать такое в своем проекте, потом увидел твой пост как раз к стати, и просто взял твою простую реализацию. Хорошо работает, спасибо))
Если интересно можешь посмотреть тут: visgl.ru раздел новости, там можно указать код любой компании и новости отфильтруются, например sber news
Делал парсер для себя, попутно изучая java. Пост написал даже, пользуйся :))
https://habr.com/ru/post/595749/
Свой агрегатор новостей на python. Телеграм + RSS + новостные сайты (telethon, feedparser, scrapy)