Получить весь промежуток внутри div - PullRequest
0 голосов
/ 10 июня 2019

Я захожу на страницу https://footystats.org/, потому что мне нужно получить от нее некоторую информацию. HTML-код аналогичен приведенному ниже

<span class="timezone-convert-match-regular">07:00pm</span>
<span class="timezone-convert-match-regular">08:00pm</span>
</div>
 <div class="league-data"> Nigeria A
<span class="timezone-convert-match-regular">07:15pm</span>
<span class="timezone-convert-match-regular">08:30pm</span>
</div>

Мне нужно показать, как показано ниже

Internacional Friendless 07:00pm
Internacional Friendless 08:00pm
Nigeria A 07:15pm
Nigeria A 08:30pm

мой код python

html = driver.page_source
soup = BeautifulSoup(html, "lxml")
for liga, hour in zip( soup.select('div.league-data'), soup.find_all('span', attrs={'class': 'timezone-convert-match-regular'}) ):
    print(liga.text.strip(),hour.text.strip())```

1 Ответ

1 голос
/ 10 июня 2019

Вы можете использовать этот код:

from bs4 import BeautifulSoup

data = '''
 <div class="league-data"> Internacional Friendless
 <span class="timezone-convert-match-regular">07:00pm</span>
<span class="timezone-convert-match-regular">08:00pm</span>
</div>
 <div class="league-data"> Nigeria A
<span class="timezone-convert-match-regular">07:15pm</span>
<span class="timezone-convert-match-regular">08:30pm</span>
</div>'''

soup = BeautifulSoup(data, 'lxml')

l = [(div.contents[0].strip(), span.text.strip())
    for div in soup.select('div.league-data')
    for span in div.select('span')]

for match, hour in l:
    print(match, hour)

Отпечатки:

Internacional Friendless 07:00pm
Internacional Friendless 08:00pm
Nigeria A 07:15pm
Nigeria A 08:30pm
...