半自动批量下载IEEE文献

2023-11-30 22:40

本文主要是介绍半自动批量下载IEEE文献,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

因为一直在外边联合培养,无法使用学校的数据库,所以下载文献一下子从最简单的事情变成最复杂的事情。
首先想到的方法是学校放一台电脑,然后开teamviewer,远程操控,但公司和学校的双重烂网速让这件本来很简单的事情变得困难重重。
所以想到了绕个捷径通过http://sci-hub.cc/这个网站实现IEEE文献的下载。奔跑着歌颂一下这个俄罗斯大神搭建的网站,它可以让所有人通过该网站下载到大部分文献。
比如我要下载这篇文献,http://ieeexplore.ieee.org/document/6714990/,将网址复制到该网站,就会生成该论文的pdf,点击保存一下即可,仔细看一下,其实网址有了稍微一丁点变化,http://ieeexplore.ieee.org.sci-hub.cc/document/6714990/,加上了.sci-hub.cc,在网页审查一下元素发现下载地址(后缀名是.PDF)的那个就在这里摆着
这里写图片描述
这就简单了,首先将你在ieee官网上想要下载的多个文献的网址复制下来,每一个网址后面加上.sci-hub.cc,解析每一个新的网址,寻找.pdf的链接,获取真实的下载地址。
code:

#第一次变换地址
lines=open('d:/list.txt').readlines()
fp=open('D:/list.txt', 'w')
for s in lines:fp.write( s.replace('org','org.sci-hub.cc'))   
fp.close()
#解析出真正的下载地址
import re
import urllib.request
# ------ 获取网页源代码的方法 ---
def getHtml(url):page = urllib.request.urlopen(url)html = page.read()return html
f=open('d:/list.txt')
for line in f:html = getHtml(line)html = html.decode('UTF-8')reg = r'src = "(.*?\.pdf)"'PDFre = re.compile(reg);PDFlist = re.findall(PDFre, html)print(PDFlist)
f.close()

使用方法,新建一个txt文档,将要下载的文献地址复制过来
这里写图片描述
运行程序,就会生成真正的下载链接
这里写图片描述
复制一下打开迅雷,直接批量下载了
这里写图片描述

如果没有迅雷,可以使用python实现wget完成下载,加入代码

import sys,urllib
def reporthook(*a): print(a)
for url in sys.argv[1:]:i=url.rfind('/')file=url[i+1:]print(url,'-->',file)urllib.request.urlretrieve(url,file,reporthook)

enjoy it!
最后借用互联网之子亚伦·斯沃茨的一句质疑:科研,如果用的是纳税人的钱,为什么最后的成果不能被我们纳税人自由地获取?获利的却是出版商呢?

这篇关于半自动批量下载IEEE文献的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438815

相关文章

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Java如何从Redis中批量读取数据

《Java如何从Redis中批量读取数据》:本文主要介绍Java如何从Redis中批量读取数据的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一.背景概述二.分析与实现三.发现问题与屡次改进3.1.QPS过高而且波动很大3.2.程序中断,抛异常3.3.内存消

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数