python参考文献的引用_2020-11-24 用python从PDF格式论文中读取其中的参考文献

目的:下载好的一篇pdf英文文献,获取全部参考文献,并提取pmid列表。

import sys

sys.setdefaultencoding("utf-8")

from pdfminer.pdfparser import PDFParser

from pdfminer.pdfdocument import PDFDocument

from pdfminer.pdfpage import PDFPage

from pdfminer.pdfpage import PDFTextExtractionNotAllowed

from pdfminer.pdfinterp import PDFResourceManager

from pdfminer.pdfinterp import PDFPageInterpreter

from pdfminer.pdfdevice import PDFDevice

from pdfminer.layout import LAParams, LTTextBox, LTTextLine, LTFigure, LTImage

from pdfminer.converter import PDFPageAggregator

import re

打开pdf文件

path=' 文件所在路径'

fp = open(path, 'rb')

parser = PDFParser(fp)

# Create a PDF document object that stores the document structure.

# Supply the password for initialization.

rsrcmgr = PDFResourceManager()

laparams = LAParams()

device = PDFPageAggregator(rsrcmgr, laparams=laparams)

interpreter = PDFPageInterpreter(rsrcmgr, device)

document = PDFDocument(parser)

Process each page contained in the document

新建列表,读取的每行内容放进去,去除空行号

text_content = []

for page in PDFPage.create_pages(document):

interpreter.process_page(page)

layout = device.get_result()

for lt_obj in layout:

if isinstance(lt_obj, LTTextBox) or isinstance(lt_obj, LTTextLine):

text_content.append(lt_obj.get_text())

else:

pass

print(text_content)

## text_content 中每一个元素存储了一行文字

total_text = ''.join(text_content).replace("\n","")

将参考文献写入文本中,采用正则表达式筛选参考文献,

这一部分正则表达式不是很熟。

file = open("the file your want to save","w")

p = re.compile('^[0-9]+\..*[0-9]+\.')

m = p.findall(total_text)

for i in m:

#print i

if i.startswith("["):

file.write(str(i))

file.write("\n")

file.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值