Не удается получить нужный текст в Beautifulsoup - PullRequest
0 голосов
/ 06 декабря 2018

Извините, если приведенное ниже форматирование неверно.Я пытаюсь очистить только раздел «Джейн Доу» в приведенном ниже html

<div class="col1 client">
   <a name="12345"></a>
   "Jane Doe"
   <div class="request"><i>insurance claim</i></div>        
</div>

Мой код внизу выведет как «Jane Doe», так и страховое требование .Как я могу просто получить текст "Джейн Доу"?Спасибо заранее за вашу помощь.

soup = BeautifulSoup(page.content, 'html.parser')
listings = soup.find(id="listings")
listing_items = listings.find_all(class_="col1 client")

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Другое использование может быть следующим:

from bs4 import BeautifulSoup

htmldocs = """
<div class="col1 client">
   <a name="12345"></a>
   "Jane Doe"
   <div class="request"><i>insurance claim</i></div>        
</div>
"""
soup = BeautifulSoup(htmldocs, 'html5lib')
for item in soup.select(".request"):
    print(item.previous_sibling.strip())
0 голосов
/ 06 декабря 2018

Вы хотите использовать next_sibling

from bs4 import BeautifulSoup

html = '''
<div class="col1 client">
   <a name="12345"></a>
   "Jane Doe"
   <div class="request"><i>insurance claim</i></div>        
</div>
'''

soup = BeautifulSoup(html, 'lxml')
for item in soup.select(".col1.client a"):
    print(item.next_sibling)

Или

print([item.next_sibling.strip() for item in soup.select(".col1.client a")])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...