学术论文信息提取

举报
鸣海步 发表于 2022/04/20 15:02:31 2022/04/20
【摘要】 现有一篇PDF格式的学术论文step3/ICSE2014.pdf。右侧编辑器中有一个函数Read,它有一个参数path,代表这个PDF的路径,或者是另一个类似的PDF文件的路径,它们的区别仅在于元数据上。请在这个函数中读取指定论文元数据中的标题、作者、关键字、最后一次修改日期四个属性,并将其按照(<编号>)<属性名> : <属性值>的格式输出。要求:<编号>是按输出顺序编号为1-4。<属性名...

现有一篇PDF格式的学术论文step3/ICSE2014.pdf。

右侧编辑器中有一个函数Read,它有一个参数path,代表这个PDF的路径,或者是另一个类似的PDF文件的路径,它们的区别仅在于元数据上。

请在这个函数中读取指定论文元数据中的标题、作者、关键字、最后一次修改日期四个属性,并将其按照(<编号>)<属性名> : <属性值>的格式输出。

要求:

<编号>是按输出顺序编号为1-4。

<属性名>要求使用上面的汉字。

最后一次修改日期的属性值要求按照XXXX年XX月XX日的格式输出(需要分析原始数据中哪一部分是年、月、日)。

提示:如果不知道这几个属性对应的英文名是什么,可以先打印出所有信息看一看。

测试数据由评测系统读取并传递给Read函数,期间产生的输出将会与规定的输出进行比较,详细要求请见测试说明。

测试说明

如果输入的是:
step3/ICSE2014.pdf
那么应该得到的是:
(1)标题 : The Strength of Random Search on Automated Program Repair
(2)作者 : Yuhua Qi, Xiaoguang Mao, Yan Lei, Ziying Dai, and Chengsong Wang
(3)关键词 : Automated program repair; random search; genetic programming; search-based software engineering
(4)最后一次修改日期 : 2014年02月23日

上述输出内容为**测试集1**的预期输出。

代码如下:

import PyPDF2
def Read(path):  
    #   请在此添加实现代码   #  
    # ********** Begin *********#  
    pdf = PyPDF2.PdfFileReader(path) # 创建PdfFileReader对象  
    pdfInfo = pdf.getDocumentInfo()    # 读取文档元信息
    # 根据要求的属性提取相应的信息:  
    attributes = ['/Title', '/Author', '/Keywords', '/ModDate'] # 文档信息的属性名称  
    attributeShow = ['标题', '作者', '关键词', '最后一次修改日期']  
    attributeValue = [] # 用于存放提取的各属性的值  
    for attr in attributes:  
        attributeValue.append(pdfInfo[attr])  
    # 修改一下最后一次修改日期的值:  
    attributeValue[3] = attributeValue[3][2:6]+'年' \  
                   +attributeValue[3][6:8]+'月'\  
                   +attributeValue[3][8:10]+'日'  
    for i in range(len(attributes)):  
        print('(%d)'%(i+1) + attributeShow[i]+' : '+attributeValue[i])  
    # ********** End **********#  

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。