Как получить текст 2 разных классов в div - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь выполнить очистку веб-страниц, используя Python и BeautifulSoup, но я ударился о стену. Вот оригинальная разметка страницы:

 <div class="name">target 1<div class="date">updated 25th January 2019</div></div>

Мне нужна только первая часть («цель 1»)

Я пытался найти класс "name" с помощью

mgroup[0].a.findAll("div",{"class":"name"})

или

mgroup[0].a.findAll("div",)[1].div 

но всегда возвращается

<div class="name">target 1<div class="date">updated 25th January 2019</div></div>

но если я использую класс "date", как это

mgroup[0].a.findAll("div",{"class":{"date"})

Я получаю:

<div class="date">updated 25th January 2019</div>

Я не уверен, что это потому, что div находится внутри незакрытого div или если тег "name" может быть зарезервированным термином или что-то подобное, даже попытался

mgroup[0].a.findAll("div",{"class":["name"}])

с тем же результатом

  [<div class="name">target 1<div class="date">updated 25th January 2019</div></div>]

Как мне с этим справиться?

1 Ответ

0 голосов
/ 20 июня 2019

Возвращает сам элемент BS4. Вы можете получить доступ к содержимому элемента следующим образом:

hit = mgroup[0].a.findAll("div",{"class":"name"})
print(hit.contents[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...