Один и тот же запрос разные результаты - PullRequest
0 голосов
/ 17 марта 2019

HTML-код:

<div class="jobsearch-JobMetadataHeader icl-u-xs-mb--md">
  <div class="jobsearch-JobMetadataHeader-itemWithIcon icl-u-textColor--secondary icl-u-xs-mt--xs">
    <div aria-label="" class="icl-IconFunctional icl-IconFunctional--location icl-IconFunctional--md"></div><span class="jobsearch-JobMetadataHeader-iconLabel">Edinburgh EH3</span></div>
  <div class="jobsearch-JobMetadataHeader-itemWithIcon icl-u-textColor--secondary icl-u-xs-mt--xs">
    <div aria-label="" class="icl-IconFunctional icl-IconFunctional--jobs icl-IconFunctional--md"></div><span class="jobsearch-JobMetadataHeader-iconLabel">Apprenticeship</span></div>
  <div class="jobsearch-JobMetadataHeader-itemWithIcon icl-u-textColor--secondary icl-u-xs-mt--xs">
    <div aria-label="" class="icl-IconFunctional icl-IconFunctional--salary icl-IconFunctional--md"></div><span class="jobsearch-JobMetadataHeader-iconLabel">£21,750 a year</span></div>
</div>

Мой код:

r = requests.get(link)
soup = BeautifulSoup(r.content, 'html.parser')
job_metadata=soup.find('div' ,class_="jobsearch-JobMetadataHeader icl-u-xs-mb--md")

try:
    print(job_metadata.find_all('span')[0])#.next_element)
    print(job_metadata.find_all('span')[1])#.next_element)
    print(job_metadata.find_all('span')[2])#.next_element)
except:
    pass

Проблема: Мои результаты не соответствуют.Иногда я получаю один результат, иногда 3. Я подозреваю, что это может быть связано с пустыми тегами div.Также я попытался нацелиться на пустой div и использовать .next_element, но безуспешно ... Div возвращаются как None, что имеет смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...