Получить текст из тегов br с помощью Beautifulsoup - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь извлечь название компании в тегах br из действительно с помощью python beautifulsoup.

HTML-код:

<p> <h2 class="jobTitle"> <a href="viewjob?jk=1544ab41b4dc02b6" rel="nofollow"> Data Scientist </a> </h2> <br/> Deloitte - <span class="location"> Los Angeles, CA 90013 </span> <br/> <span class="date"> 1 day ago </span> </p>

Я попробовал следующий код, но он ничего не дает.

companies=soup.find_all('br')
for company in companies:
   print(company.text)

Ответы [ 2 ]

0 голосов
/ 27 октября 2019

Вы можете связать next_sibling

from bs4 import BeautifulSoup as bs
import requests

r = requests.get('https://www.indeed.com/m/jobs?q=data+scientist&l=Los+Angeles%2C+CA')
soup = bs(r.content, 'lxml')
for job in soup.select('.jobTitle'):
    print(job.next_sibling.next_sibling)
0 голосов
/ 26 октября 2019

Название компании не является частью тега br, а является необработанным текстом после тега br.

Пример:

prev = None
for child in soup.find('p').children: 
    if prev is not None and prev.name == 'br': 
        print(child) # company name
        break
    prev = child
...