python怎么查文献_查询论文的引用格式,支持批量查询

百度的相关接口升级,导致本仓库的调用已经不可用,后续有时间将会修改,以下内容已经无效。

ReferPy

在论文写作中,参考文献是非常重要的一部分,但是花费过多时间在参考文献的格式上,往往得不偿失。本项目利用百度学术的论文检索能力,通过本地Python发送http请求给百度学术以获取所需要的信息。

当前接口支持获取百度学术所提供的所有参考文献格式:

APA

American Psychological Association,是美国心理学会出版的《美国心理协会刊物准则》。APA格式是一个为广泛接受的研究论文撰写格式,特别针对社会科学领域的研究。

MLA

Modern Language Association,美国现代语言协会制定的论文指导格式,在一般书写英语论文时应当使用MLA格式来保证学术著作的完整。

GB/T 7714

《文后参考文献著录规则》 是一项专门供著者和编辑编撰文后参考文献使用的国家标准(中国)。

后期有时间会支持Google学术,知网等其他搜索引擎,也会建设Web网站,提供查询接口。

一、安装

本项目是通过Python脚本编写的,在Windows系统下需要配置Python环境:

Python

请点击这里查看安装列表。尽量采用Python3.6及其以上版本(本项目开发环境采用Python 3.7.0a4).请在安装时选择添加环境变量

安装完毕后请在命令行用以下命令测试安装是否成功,若安装成功则返回版本信息: >>Python -V 若安装成功,但是没有返回版本信息,则很可能是没有添加环境变量所致。请添加和/Scripts/至环境变量

BeautifulSoup

这是一个Python的第三方工具包,用于对html网页进行解析。通过python的pip工具包可以进行自动下载安装。在命令行下通过下述命令进行安装: >>pip install beautifulsoup4 若提示找不到pip的错误,则可能是没有添加pip所在的环境变量。pip的环境变量为安装目录下的Scripts文件夹:/Scripts/

pyargv

这是一个第三方的python命令行输入参数构造库,按照该教程可以很快的进行安装。

ReferPy

下载ReferPy压缩文件,在你愿意的地方解压即可。

二、接口

ReferPy的接口的使用是通过命令行,需要先进入ReferPy所在的目录cd , 再通过python调用其接口进行查询:

>>python refer.py [-p ] [-f ] [--debug] [--help]

ReferPy将会发起http请求访问百度学术,并获得解析返回的结果。注意,由于需要联网,因此要确保网络环境畅通。上述命令中的-p 指的是对论文名称发起直接查询,对于-f 指的是对文件夹或文本文件中的论文名称发起批量查询,当参数中包含空格时,需要将参数通过双引号引用。可以通过python refer.py --help查询参数作用。

1.直接查询

输入名称直接查询论文的参考文献格式。示例如下:

>>python refer.py -p "A data hiding scheme based upon DCT coefficient modification"

# 命令行输出

search "A data hiding scheme based upon DCT coefficient modification"

【APA】:Lin, Y. K. (2014). A data hiding scheme based upon dct coefficient modification. Computer Standards & Interfaces, 36(5), 855-862.

【GBT7714A】:Lin Y K. A data hiding scheme based upon DCT coefficient modification[J]. Computer Standards & Interfaces, 2014, 36(5):855-862.

【MLA】:Lin, Yih Kai. "A data hiding scheme based upon DCT coefficient modification." Computer Standards & Interfaces 36.5(2014):855-862.

【成功】

2.批量查询

批量生成是不会直接将查询结果输出到命令行的,而是将结果批量输出到ReferPy的目录下的apa.txt, gbt7714.txt, mla.txt文件中,每个文件保存对应类型的参考文献格式。

批量查询分了两种, 文件查询和目录查询:

文件查询

在文件中一行记录一个待查询的论文题目,只要交给referpy该文件的路径,需要注意的是保存的文件需要为UTF8就会在ReferPy的目录下批量生成结果:

# papers(在仓库的根目录下的文件)

A data hiding scheme based upon DCT coefficient modification

A Novel Steganography Algorithm Based on Motion Vector and Matrix Encoding

基于运动矢量的H.264信息隐藏算法

# 命令行输入

>>python3 refer.py -f papers

# 命令行输出

search "A data hiding scheme based upon DCT coefficient modification"

search "A Novel Steganography Algorithm Based on Motion Vector and Matrix Encoding"

search "基于运动矢量的H.264信息隐藏算法"

【成功】

# /apa.txt(使用中不会生成该行)

[1] Lin, Y. K. (2014). A data hiding scheme based upon dct coefficient modification. Computer Standards & Interfaces, 36(5), 855-862.

[2] Hao-Bin, Zhao, L. Y., & Zhong, W. D. (2011). A novel steganography algorithm based on motion vector and matrix encoding. IEEE, International Conference on Communication Software and Networks (pp.406-409). IEEE.

[3] 苏育挺, 张新龙, 张承乾, & 张静. (2014). 基于运动矢量的h.264信息隐藏算法. 天津大学学报(自然科学与工程技术版)(1), 67-73.

# /mla.txt(使用中不会生成该行)

[1] Lin, Yih Kai. "A data hiding scheme based upon DCT coefficient modification." Computer Standards & Interfaces 36.5(2014):855-862.

[2] Hao-Bin, L. Y. Zhao, and W. D. Zhong. "A novel steganography algorithm based on motion vector and matrix encoding." IEEE, International Conference on Communication Software and Networks IEEE, 2011:406-409.

[3] 苏育挺等. "基于运动矢量的H.264信息隐藏算法." 天津大学学报(自然科学与工程技术版) 1(2014):67-73.

# /gbt7714.txt(使用中不会生成该行)

[1] Lin Y K. A data hiding scheme based upon DCT coefficient modification[J]. Computer Standards & Interfaces, 2014, 36(5):855-862.

[2] Hao-Bin, Zhao L Y, Zhong W D. A novel steganography algorithm based on motion vector and matrix encoding[C]// IEEE, International Conference on Communication Software and Networks. IEEE, 2011:406-409.

[3] 苏育挺, 张新龙, 张承乾,等. 基于运动矢量的H.264信息隐藏算法[J]. 天津大学学报(自然科学与工程技术版), 2014(1):67-73.

目录查询

�目录查询是读取目录下的文件名,作为论文的名称进行查询。这里不给出具体的示例

>> python refer.py -f

3.DEBUG模式

在所有接口最后用-DEBUG可以开启调试模式,调试模式中将给出更为详细的信息。为了方便也可以通过-debug, -d, -D启动DEBUG模式。

三、FAQ

1.对中文文献的支持

对中文是完全支持的,可以输入中文题目的论文,会输出对应的中文参考文献格式。需要注意的是referpy涉及到中文的地方,全部采用UTF8进行编码。若你发现使用过程中存在编码解码问题或是中文乱码问题,那么请注意把编码模式切换为UTF8。

2.论文标题错误

检索具备一定的容错性,会查询和标题最相似的结果。需要注意的是,标题输入错误导致时,不会给出任何提示!因此可能最相似的结果并非你想要的,最好进行一次人工对标题的排查。

3.论文题目模糊

和上述类似,会查询最相似的,当然是百度学术认为的最相似。

4.使用是否有次数限制

暂时还未测试出百度学术对于该接口的限流情况

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值