Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
В общем, можно придумать удобный для себя способ узнавать о новостях.
for i in range(len(news)):
if news[i].find('span', class_='time2 time3') is not None:
new_news.append(news[i].text)
for news_item in news:
if news_item.find('span', class_='time2 time3') is not None:
new_news.append(news_item.text)
for i, news_item in enumerate(news):
print(i, news_item)
Спасибо, возьму на заметку.
Rss у них, к сожалению, отдает не фильтрованные новости, по этому не мог им пользоваться.
from bs4 import BeautifulSoup
import requests
url = 'http://mignews.com/mobile'
page = requests.get(url)
#Проверим подключение:
print(page.status_code)
new_news = []
news = []
#Самое время воспользоваться BeautifulSoup4 и скормить ему наш page,
#указав в кавычках как он нам поможет 'html.parcer':
soup = BeautifulSoup(page.text, "html.parser")
#Если попросить его показать, что он там сохранил:
#print(soup)
#Теперь воспользуемся функцией поиска в BeautifulSoup4:
news = soup.findAll('a', class_='lenta')
for news_item in news:
if news_item.find('span', class_='time2 time3') is not None:
new_news.append(news_item.text)
print(f"{news_item =}")
200
news_item =<a class="lenta" href="/mobile/article.html?id=280221_143704_38808"><span class="time2">14:37</span> Сотни граждан идут в Иерусалим пешком</a>
for data in new_news:
print(data) я получил нужный результат:21:10 COVID-19: самое низкое число тяжелобольных с 30 декабря
20:56 Ганц: под прицелом МУС могут оказаться сотни бойцов ЦАХАЛа
20:27 США ввели санкции против РФ из-за Навального: полный список
17:55 Решение кабинета коронавируса по предвыборным мероприятиям
17:25 В Израиле выявлено три случая заражения нью-йоркским штаммом
16:30 Иран: мы следим за поведением Израиля в регионе
15:01 Либерман: Пресечь террор против фермеров на Юге
12:23 Австрия: в сфере вакцин вместо ЕС будем работать с Израилем
10:39 Врачи Израиля против дискриминации
09:01 Ответ Ирану: Конфликт главы Моссада и начальника Генштаба
08:02 Коронавирус стал причиной повышенной смертности в Израиле
07:12 Правительство приняло решение об ослаблении ограничений
21:45 Реакция политиков на решение БАГАЦ
19:58 Мири Регев представит план открытия Бен-Гурион 7 марта
19:45 Историческое решение БАГАЦ о гиюрах
15:57 Николя Саркози осудили на три года
for n in BeautifulSoup(content, "lxml").findAll('a', {"class":"lenta"}):
if n.find("span", {"class":"time3"}):
print(n.text)А как искать теги у которых не указан class?
Некоторые сайты скрывают контент. Можно ли этот контент получить? К примеру, https://cointelegraph.com/news/
Облегчаем себе жизнь с помощью BeautifulSoup4