背景:
某人写了一篇论文,需要将参考文献信息内容查询出来,第一步,就是利用人名及年份查询所引用的文献或者文章及文章的doi,如果没用,也可也复制文章在百度里面查找,
第二步,拿到doi号在网址里面查询
如此往复,如果文章引用超过100jiao多,如此重重,无聊,而且易出错,
接下来,我们利用python 编写脚步,自动查询,然后把值保存在txt里面
步骤:
第一步:doi号是和人名,年份等引用信息混合在一起的,需要先将值提取出来,利用excel
因为有些是http:doi/org/ 有些直接是doi,在excle中直接查找替换,*org 替换 *doi 再替换 *doi/
拿到doi号,
第二部,需要将其按格式保存再excle中,文本格式,不然数字易变成浮点数
第三部,利用python 读取excel
# coding:utf-8
import xlrd
class ExcelUtil():
def __init__(self, excelPath, sheetName):
self.data = xlrd.open_workbook(excelPath)
self.table = self.data.sheet_by_name(sheetName)
# 获取第一行作为key值
self.keys = self.table.row_values(0)
# 获取总行数
self.rowNum = self.table.nrows
# 获取总列数
self.colNum = self.table.ncols
def dict_data(self):
if self.rowNum <= 1:
print("总行数小于1")
else:
r = []
j=1
for i in range(self.rowNum-1):
s = {}
# 从第二行取对应values值
values = self.table.row_values(j)
for x in range(self.colNum):
s[self.keys[x]] = values[x]
r.append(s)
j+=1
return r
if __name__ == "__main__":
filepath = "D:\\test\\web-project\\5ke\\testdata.xlsx"
sheetName = "Sheet1"
data = ExcelUtil(filepath, sheetName)
print(data.dict_data())
第四步:
刚开始利用接口试试,但是返回值不正确,改变思路,利用网页直接取
第五步:查看生成的txt文档
大功告成
需注意点:刚开始写入txt时,报gbk不能写入,最后后面加了ecoding=utf-8
因为每次都取doi号,所以想到需要用ddt模式驱动
参考文章:https://www.cnblogs.com/zhongyehai/p/9560785.html