爬取DOI页面作者信息时内容被截断的技术求助
爬取DOI页面作者信息时出现截断的原因
问题详情
尝试爬取DOI链接https://doi.org/10.1155/2021/2122095的作者信息,但返回结果里第4位作者被截断成了省略号,代码和输出如下:
import csv import requests from bs4 import BeautifulSoup url = 'https://doi.org/10.1155/2021/2122095' response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser') authors = soup.find("meta", {"name": "authors"})['content'] print(authors)
输出:Datian Bi | Jingyuan Kong | ... | Junli Yang
原因解析
你提取的<meta name="authors">标签的内容是网站预先截断后的元数据内容,并非爬取过程中出现的异常。这类meta标签主要用于页面摘要、搜索引擎快照展示等场景,网站为了避免过长的作者列表影响展示体验,会主动对内容进行截断处理,用省略号替代中间的部分作者。
补充:获取完整作者信息的方法
如果需要拿到全部作者,可以直接定位页面中展示完整作者的DOM节点,比如页面内的作者列表区域:
author_names = soup.select('div.author-list .author-name') full_authors = [name.get_text(strip=True) for name in author_names] print(' | '.join(full_authors))
也可以通过学术元数据API查询该DOI对应的完整作者信息。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

