国外的大学图书馆也像国内的一样吗?用Python脚本抓取期刊的主题标题!

本文介绍了如何使用Python脚本从不同图书馆目录抓取期刊的主题标题,以进行学科分析和藏书决策。项目旨在为南伊利诺伊大学爱德华斯维尔图书馆的期刊订阅提供更深入的学科视角,包括价格、使用率和替代资源的评估。通过Python脚本,可以自动化处理数据,克服目录结构差异和限制,为图书馆的资源管理提供数据支持。
摘要由CSDN通过智能技术生成

导言

在过去,南伊利诺伊大学爱德华斯维尔(SIUE)的Lovejoy图书馆(SIUE)的期刊和杂志包订阅的更新是零敲碎打的,每一项决定都单独引用与购买有关的指标,而与其他指标无关。考虑的两个主要因素是价格比上一年上涨百分比和每次使用成本。如果价格上涨的百分比可以保持在4%-5%以下,并且每篇期刊文章的每次使用成本保持在诸如Illiad这样的送货服务的订购率以下,那么日刊或日刊包装就会被更新。在这一过程中,更新价格和统计分析由电子资源图书馆员提供给个别学科图书馆员,他们就续借问题作出最后决定。在此系统中,对期刊订阅进行跨学科分析只是为了确保资源的支付不超过一次。没有更多的颗粒分析,尤其是基于期刊主题内容的分析。我们的项目起源于2019年春天,目的是为我们在SIUE Lovejoy图书馆订阅的期刊生成主题标题数据。该项目的预期成果是详细分析和教育图书馆联络员和校园教员了解该期刊在其学科中的订阅情况,包括使用数据、每次使用的成本以及潜在的可供选择的开放教育资源(OER)或开放存取(OA)资源或成本较低的可比产品替代品。主要作者ShellyMcDavid曾在她以前的图书馆中看到过类似的模式,并希望将其应用于LIS对SIUE校园学科的藏书开发和年度组合评审。

背景

在SIUE的LIS中,我们并没有确定我们所订阅的电子资源的主题标题,也没有进行任何类型的学科特定期刊使用分析。这些都是这个项目的目标,着眼于这样的分析,作为年度项目评审的基础,提交给校园教职员工和管理人员。2020年秋季,Lis Lovejoy图书馆藏书分析与战略委员会成立,致力于实现这些目标。

主题方法

本项目的主要问题是在不同的图书馆目录中以有效、系统的方式收集一组ISSN编号的特定元数据。解决方案是创建一个Python(v3.7.1)脚本,它向目录搜索引擎发出一个HTTPS请求,以获取ISSN编号,并解析HTML搜索结果以收集该ISSN的相关元数据。该脚本设计为从命令提示符中使用,并允许通过传入CSV文件进行单个ISSN搜索或批量搜索。所需的位置参数之一是目录名称:WorldCat、Carli_I-Share或Mobius。

                        

目录参数

脚本的一个特性是允许灵活地选择要对其进行搜索的目录,因为一次只能搜索一个目录。由于每个库Web目录都以不同的方式以不同的HTML结构和CSS样式格式化,因此创建了Python字典数据结构,因此无论选择哪个目录,脚本都可以以系统的方式操作。为每个目录定义了此字典,并包含以下参数:

      • Base ear-目录搜索URL的开头部分,从https://开始,在第一个/例如“https://www.worldcat.org”之前结束。
      • 搜索url-这是目录搜索URL的其余部分,没有base_url,这是用一个“{0}”参数化的,ISSN用于搜索例如,“/search?QT=WorldCat_org_all&q={0}”。
      • 搜索标题-用于包含搜索结果页上ISSN标题的父HTML元素的CSS选择器。
      • 记录-HTML元素的CSS选择器,该元素包含目录项页上的记录元数据。
      • 标题-用于父HTML锚元素的CSS选择器,该元素包含目录项页上的项标题。
      • 科目-HTML表元素,其中的文本以“Topics”或“Subject”开头,在BIB_Record的目录项的页面中。

编写的脚本支持WorldCat、Mobius Library Catalog和Carli的VUFind Library Catalog,但也可以通过为特定库目录定义上述参数来搜索更多的目录。这些参数确实需要对HTML元素和CSS样式的工作和功能有更广泛的了解。

加工过程

无论脚本是以单或批处理模式运行,搜索ISSN的过程都是相同的,涉及单个ISSN的两个URL请求:

  1. 搜索ISSN的目录并获取目录项的URL。
  2. 如果目录项URL有效,则在目录项的页面中搜索相关的元数据。
  3. 将元数据和搜索条件输出或写入磁盘。

该脚本并不适用于每个ISSN,并且将为上述步骤中涉及的任何失败提供信息性错误。

将URL请求发送到Web服务器时的一个复杂问题是,请求之间必须存在时间延迟,否则服务器将假设它正在被垃圾处理,并拒绝请求。因此,每个URL请求的前一个时间延迟为半秒。

输出量

如果脚本在单ISSN模式下运行,输出将发送到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python是世界上最好的语言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值