第五篇 Python统计论文被引量和自引量

本文介绍了一个使用Python编写的脚本,该脚本用于统计Web of Science数据库中论文的被引量和自引量。脚本依赖于wos、re、xml和sys库,适用于英文主流期刊(SCI)的统计。虽然部分步骤需要人工辅助,但整体流程自动化程度高,有助于科研工作者高效管理引用数据。
摘要由CSDN通过智能技术生成

Python统计论文被引量和自引量

昨天替老板写了一个统计文章被引次数的脚本,现在分享给大家,开源万岁!这里的引用统计是基于Web of Science的数据库,这就意味着你必须有Web of Science的账号或者你所在的ip可以正常使用它。适用于广大理工科的研究工作者,适用于英文主流期刊(SCI)的统计。中文核心要看Web of Science具体的收录情况。

所需库

wos

这个是Web of Science提供的数据接口,它有一个非常难读的官方说明,感兴趣的同学可以试一试:
http://ipscience-help.thomsonreuters.com/wosWebServicesLite/WebServicesLiteOverviewGroup/Introduction.html

re

这个库anaconda自带,可以用来处理字符串。我们扒取的各种网页信息实际上都是字符串,所以这个库在写爬虫的时候非常有用。

xml

这个库同样anaconda自带,wos返回的各种数据均是以xml格式存储的,所以需要用这个库处理。

sys

我们只调用了其中的exit函数,用来终止脚本。

代码实现

这个代码貌似很有用的样子,很多人哭着喊着想要,所以我就贴在这里。使用的话请注明作者和出处,禁止用于商业用途,开源就是开源!

# -*- coding: utf-8 -*-
"""
Created on Tue Feb 26 14:43:45 2019

@author: danphnis
"""

from wos import WosClient
import wos.utils
import xml.dom.minidom
import re
import sys

class paper:
    def __init__(self,xml_txt,r):
        self.year = int(xml_txt.childNodes[r*2-1].childNodes[r*1-1].childNodes[r*2-1].getAttribute('pubyear'))
        self.uid = xml_txt.childNodes[r*1-1].firstChild.data
        self.title = xml_txt.childNodes[r*2-1].childNodes[r*1-1].childNodes[r*3-1].childNodes[-r].firstChild.data
        print('已找到文章,开始处理,请核对文章名及DOI:')
        print(self.title)
        doi_temp = '未找到doi'
        if xml_txt.childNodes[r*3-1].childNodes[r*2-1].childNodes[r*1-1].childNodes[-r].hasAttribute('value'):
            doi_temp = xml_txt.childNodes[r*3-1].childNodes[r*2-1].childNodes[r*1-1].childNodes[-r].getAttribute('value')
        self.doi = doi_temp
        print(self.doi)
        
        self.loc = []
        self.org = []
        temp = xml_txt.childNodes[r*2-1].childNodes[r*2-1].childNodes[r*5-1]
        for i in range(int(temp.getAttribute('count'))):
            self.loc.append(temp.childNodes[r*i+r-1].childNodes[r*1-1]
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值