Answer the question
In order to leave comments, you need to log in
Content extraction with BeautifulSoup and Python?
Приветствую всех ! Парсю дату новостей с этого портала . Получаю дату в таком формате:"3 Сентября, 23:30 721".Мне нужно обрезать или как-то удалить лишний элемент 721.
Я для этого решил использовать функцию decompose()
Но загвоздка состоит в том что эти цифры 721 находятся внутри класса.
А как я понял из документации,функция decompose() удаляет только теги .Как можно с помощью функции decompose() удалить лишний тег span с своим классом?
Вот код который используется для парсинга даты:
# < Собираем даты с страницы.
def get_item_datetime(item_page,datetime_rule,datetime1_rule):
if item_page is None:
return
soup = BeautifulSoup(item_page, 'lxml')
item_datetime = soup.find(datetime_rule[0],{datetime_rule[1]:datetime_rule[2]})
if item_datetime is not None:
item_datetime = soup.find(datetime_rule[0],{datetime_rule[1]:datetime_rule[2]})
#item_datetime = dateparser.parse(item_datetime)
else:
if (len(datetime1_rule) == 3):
item_datetime = soup.find(datetime1_rule[0],{datetime1_rule[1]:datetime1_rule[2]}).text
#item_datetime = dateparser.parse(item_datetime)
else:
item_datetime = ''
return item_datetime
Answer the question
In order to leave comments, you need to log in
Если вам так уж сильно хочется спарсить именно эту дату, а не нормальную, как я предложил тут, то что-бы парсить её без счетчика просмотров делайте это так:
>>> soup.find('div', {'class': 'nl__details nl__details_left'}).span.text
'3 Сентября, 23:30'
>>> date = '3 Сентября, 23:30 721'
>>> date = ' '.join(date.split(' ')[:-1])
>>> date
'3 Сентября, 23:30'
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question