利用python腳本根據DOI號自動查詢參考文獻信息

背景:

       某人寫了一篇論文,需要將參考文獻信息內容查詢出來,第一步,就是利用人名及年份查詢所引用的文獻或者文章及文章的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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章