2021-03-11 documentos de consulta por lotes de python e información de revistas

import os
import time
import requests
import xlwt
from bs4 import BeautifulSoup
from tkinter.filedialog import askopenfilename
import numpy as np
import pandas as pd
from pandas import DataFrame
import requests
from urllib import parse,request
import json
path_and_name = askopenfilename(title='Two column data : title and ISSN', filetypes=[('CSV', '*.csv')],
                                 initialdir='D:\\')
data = pd.read_csv(path_and_name)
data=data.iloc[:,2]
#如果文件没有表头,还可以自己添加表头
workbook = xlwt.Workbook(encoding = 'utf-8')
worksheet = workbook.add_sheet('My Worksheet',cell_overwrite_ok=True)
worksheet.write(0, 0, '序号')
worksheet.write(0, 1, '期刊名称')
worksheet.write(0, 2, '类别')
worksheet.write(0, 3, '分区')
worksheet.write(0, 4, '影响因子')
# 开始查询
url = 'http://webapi.fenqubiao.com/api/journal'
for ii in range(len(data)):
    textmod1 = {"year": "2020", "abbr": "#"}
    textmod1['abbr'] = data[ii]
    textmod = parse.urlencode(textmod1)
    req = requests.get(url='%s%s%s' % (url,'?',textmod))
    result = json.loads(req.text)
    print(req.text)
    try:
        for index,jcr in enumerate(result['JCR']):
            print ("序号:",ii,"期刊名称:",result['Title'],"类别:%s,分区:%s"%(jcr["NameCN"],jcr["Section"]),"影响因子:",result['Indicator']['ImpactFactor'])
            worksheet.write(ii+1, 0,ii)
            worksheet.write(ii+1, 1, result['Title'])
            worksheet.write(ii+1, 2, jcr["NameCN"])
            worksheet.write(ii+1, 3, jcr["Section"])
            worksheet.write(ii+1, 4, result['Indicator']['ImpactFactor'])
    except KeyError:
        print("序号:", ii, "期刊名称:", "Non", "类别:Non,分区:Non, 影响因子:Non")
        worksheet.write(ii + 1, 0, ii)
        worksheet.write(ii + 1, 1, 'non')
        worksheet.write(ii + 1, 2, 'non')
        worksheet.write(ii + 1, 3, 'non')
        worksheet.write(ii + 1, 4, 'non')
        pass
        continue

workbook.save('D:\infos.xls')

Supongo que te gusta

Origin blog.csdn.net/you_us/article/details/114660575
Recomendado
Clasificación