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