同一查询不同结果

时间:2019-03-17 16:06:19

标签: python beautifulsoup

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的形式返回,这引起了轰动。

0 个答案:

没有答案