中国知网管理科学期刊历年文章标题摘要信息爬取

该代码实现了一个爬虫,用于抓取中国知网管理科学期刊从1994年至2018年的文章标题、摘要、作者、单位和基金等信息,并将数据保存到Excel表格中。
摘要由CSDN通过智能技术生成

import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
import time

def getHTMLText(url):
    try: 
        r = requests.get(url, timeout = 30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "产生异常"

def infoWrite(sheet,soup,count):   #共同代码提取出来
    orgn = soup.find('div',{'class':'orgn'}).text
    fund = soup.find('label',{'id':'catalog_FUND'})
    if fund==None:  #判断是否为空
        fund = ""
    else:
        fund = fund.parent.text
        fund = fund.replace(' ','')         #去除字符串信息的无用空格
        fund = fund.replace('\n','')
    keywd = soup.find('label',{'id':'catalog_KEYWORD'})
    if keywd==None:  #判断是否为空
        keywd=""
    else:
        keywd = keywd.parent.text
        keywd = keywd.replace(' ','')      #去除字符串信息的无用空格
        keywd = keywd.replace('\n','')
        print(keywd)
    sheet.cell(row=count,column=4).value=orgn
    sheet.cell(row=count,column=5).value=fund
    sheet.cell(row=count,column=6).value=keywd


    
def getJournalInfos(start_url,end_url,sheet,count,book,path):  #爬取1994-2001年
    for i in range(1994,2002):
        if i in [1996,1997,1998]:   #判断是否为96-98年,因为网页格式有变化
            for j in range(1,5):   #1994-2001年只有4个月
                month = '0'+str(j) if len(str(j))==1 else str(j) #形成01、02这种格式数据
                for k in range(19):
                    num = '.00'+str(k) if len(str(k))==1 else '.0'+str(k) #形成01、02这种格式数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值