原始html如下所示:
<meta content="A" name="citation_author"/>
<meta content="Axxxxx" name="citation_author_institution"/>
<meta content="Aorcid" name="citation_author_orcid"/>
<meta content="B" name="citation_author"/>
<meta content="Bxxx1" name="citation_author_institution"/>
<meta content="Bxxx2" name="citation_author_institution"/>
<meta content="C" name="citation_author"/>
<meta content="D" name="citation_author"/>
<meta content="Dorcid" name="citation_author_orcid">
<meta content="E" name="citation_author"/>
<meta content="Eyyyyy" name="citation_email"/>
输出结果应如下所示:
我正在使用Python 3.7
我尝试使用“find_all”获取所有的名字,然后使用find_next_sibling('meta','name':'xxx')获取特定作者的对应列。但就拿ORCID为例,因为作者BC没有ORCID,所以我编写的代码将返回D的ORCID
AU_names = soup.find_all('meta', {'name': 'citation_author'})
for name in AU_names:
AU_name = name.attrs['content']
ORCID = name.find_next_sibling('meta', {'name': 'citation_author_orcid'})
ORCID = ORCID.attrs['content'] if ORCID else ''
print(AU_name, ORCID)
有人能帮我吗?谢谢你
这是个有趣的问题
试着做以下几点:
输出:
相关问题 更多 >
编程相关推荐