Новостная лента, которую мы получаем от агрегаторов новостей, таких как Маил, Яндекс, Facebook, Google, Apple и т. д., персонализируется на основе наших существующих интересов и предубеждений, а также интересов и предубеждений платформы, которая вводит свою собственную повестку дня и преследует свои интересы. Главных интересов у платформы два. Первое это создать зависимость, используя рефлексы второе это сподвигнуть вас сделать что-нибудь полезное для платфоры, например купить что-нибудь или оформить подписку. Потребление такой информации несет в себе опасность оказаться запертым в знакомом информационном пузыре и подвергнуться манипулированию со стороны поставщиков информации. Один из способов уменьшить эту опасность — вообще избегать новостей. Но немного новостей может быть полезным. Чтобы решить эту дилемму, я создал новостной канал в телеграмме, где новости выбираются совершенно случайным образом из категорий науки, здоровья, техники и общих в пропорции 4 : 1 : 1 : 1 причем новости выбираются не только из топа. Случайный отбор устраняет предвзятость и позволяет получить к новостям как внутри, так и за пределами нашей зоны комфорта. Канал доступен в телеграм здесь — https://t.me/porphyrys_news
Изначально канал был доступен только на английском языке, я думал, что это поможет мне в изучении английского языка, но через некоторое время я почти перестал читать новости. Сейчас я добавил машинный перевод новостей, это выглядит не очень хорошо, но позволяет составить впечатление о новости.
На картинке лента новостей Яндекса на новом телефоне, без входа в систему и лента новостей моего персонального канала. Почувствуйте разницу.
Скрипт под спойлером. Можете отредактировать для своих целей.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
from newsapi import NewsApiClient import json from datetime import date, timedelta import random from langdetect import detect from translate_news import translate_news import telegram token = 'токен вашего телеграм бота' cat = ['health', 'technology', 'science', 'science', 'science', 'science','general'] bot = telegram.Bot(token=token) newsapi = NewsApiClient(api_key='ваш токен Ньюс апи') random.seed() #business entertainment general health science sports technology # Выбираем 70 новостей из случайной категории top_headlines = newsapi.get_top_headlines(category=random.choice(cat), language='en', page_size = 70 ) #Ищем среди 70 новостей случайную новость на английском lang_en = 0 #print(top_headlines) for article in range(70): if lang_en == 1: break random_url_news = random.randint(1,70) count = 0 for article in top_headlines['articles']: count = count+1 #print(count) #print(article['url']) if count == random_url_news: url = article['url'] article_content = str(article['title']) #print(detect(article_content)) if detect(article_content) == 'en': #print(article_content) #print(url) text = translate_news(url) if text: lang_en=1 #посылаем URL новости в телеграм канал bot.sendMessage(chat_id=-10011756166, text=url) text = 'Перевод' + '\n'+ '\n' + text #Посылаем перевод bot.sendMessage(chat_id=-10011756166, text=text) break |
Добавляем задание в crontab
00 10 * * * /home/pi/bot/env/bin/python /home/pi/bot/send_news.py
Новость будет отправлена в ваш телеграм канал в 10 часов. Не забудьте добавить бота в ваш канал.
0