MATLAB | 如何使用MATLAB获取顶刊《PNAS》绘图(附带近3年图像)
千呼万唤始出来,《PNAS》绘图获取的代码来啦,不过这次研究了半天也没想到如何获取付费文章的绘图,就只下载了免费文章(主要也怕侵权),不过光免费文章的图片三年了也有接近1.7w张了,同时使用代码下载时依旧需要科学上网,因此还是建议大家直接去文末下载我整理好的图片压缩包。
代码也放一下叭,使用方法就命令行运行 getPNASJPG(YEAR) YEAR 为该期刊的年份,例如getPNASJPG(2022),要是出现了啥403的报错,过段时间再运行应该就会自己好起来。。代码如下:
function getPNASJPG(YEAR)
if nargin < 1YEAR = 2023;
end
YEAR = num2str(YEAR);
str_YEAR = ['d',YEAR(1:3),'0','.y',YEAR];
options = weboptions('Timeout',inf);
url_archive = ['https://www.pnas.org/loi/pnas/group/',str_YEAR];
html_archive = webread(url_archive,options);
A_issue = strfind(html_archive,'past-issue__content__item--all-details d-flex flex-column');
str_issue = html_archive(A_issue(1)+50:A_issue(1)+100);
S1_issue = strfind(str_issue,'|');
S2_issue = strfind(str_issue,'</h2>');
str1_issue = str_issue(S1_issue(1):S1_issue(2));
str2_issue = str_issue(S1_issue(2):S2_issue);
num1_issue = str2num(str1_issue(str1_issue>=48&str1_issue<=57));
num2_issue = str2num(str2_issue(str2_issue>=48&str2_issue<=57));ibegin = 1; jbegin = 1; kbegin = 1;
forderName=['Year_',num2str(YEAR)];
if exist(['.\image_',forderName,'\ijkbreak.mat'],'file')load(['.\image_',forderName,'\ijkbreak.mat']);
end
if ~exist(['.\image_',forderName],'dir')mkdir(['.\image_',forderName]);
end
disp([ibegin,jbegin,kbegin])for i = ibegin:num2_issueurl_issue = ['https://www.pnas.org/toc/pnas/',num2str(num1_issue),'/',num2str(i)];html_issue = webread(url_issue,options);A_article = strfind(html_issue,'Research Article');Z_article = strfind(html_issue,'Recent Issues');html_issue = html_issue(A_article(1):Z_article(1));B_article = strfind(html_issue,'icon-open-access');A_article = strfind(html_issue,'text-reset animation-underline');Z_article = strfind(html_issue,'title="');for j = jbegin:length(B_article)tA_article = A_article(find(B_article(j)<A_article,1));url_article = html_issue(tA_article:Z_article(find(Z_article>tA_article,1)));url_article = url_article(39:end-3);url_article = ['https://www.pnas.org',url_article]; html_article = webread(url_article,options);A_JPG = strfind(html_article,[url_article(find(url_article=='/',1,'last'):end),'/asset/']);Z_JPG = strfind(html_article,'jpg" height=');for k = kbegin:length(A_JPG)tryibegin = i ; jbegin = j; kbegin = k;save(['.\image_',forderName,'\ijkbreak.mat'],'ibegin','jbegin','kbegin')url_JPG = ['https://www.pnas.org/cms/10.1073',html_article(A_JPG(k):Z_JPG(k)+2)];name_JPG = ['.\image_',forderName,'\',url_JPG(find(url_JPG=='/',1,'last')+1:end)];websave(name_JPG,url_JPG,options);disp(['Downloading Year-',YEAR,...' Issue-',num2str(i),' Artical-',num2str(j),...' Pic-',num2str(k),':',url_article(22:end)])catchendendkbegin = 1;endjbegin = 1;
end
end
代码设置了可断点下载,就是可以下载了一半中断程序后过段时间接着下。
同时如果有的时候看到一张图非常好想找找源文章读一读,此代码下载的图像名称就标注了图像的来源,比如对下图名为pnas.2212633120fig06的图感兴趣:
只需要在浏览器输入文章链接:
- https://www.pnas.org/doi/10.1073/pnas.2212633120
确实就是Fig.6,完全对的上!
部分图像展示
《PNAS》上的图画的好的和画的差的就差别比较大了,大家有选择的学习哈,这里展示部分比较有趣的绘图:
2023
2022
2021
图像获取
百度网盘
提供近三年来图片百度网盘链接,共计约1.7w张:
2023(2.49G-3209张)
链接:
https://pan.baidu.com/s/1YxRmt53jH-_TXGg6zkqtIg?pwd=slan
提取码:slan
2022 上(3.12G-3329张)
链接:
https://pan.baidu.com/s/1vFcEy48oOklW9UOUShVeAA?pwd=slan
提取码:slan
2022 下(3.02G-3359张)
链接:
https://pan.baidu.com/s/1ItVAmS18DcwlCNsM2u5rwg?pwd=slan
提取码:slan
2021 上(2.61G-3077张)
链接:
https://pan.baidu.com/s/1XHYlxR9_s1Ly9LCtlfnrhQ?pwd=slan
提取码:slan
2021 下(3.35G-3887张)
链接:
https://pan.baidu.com/s/1uCUoi_hUUKlZ3kfc2oI4Yw?pwd=slan
提取码:slan
gitee仓库
若网盘失效,可去gitee仓库获取最新网盘链接:
https://gitee.com/slandarer/pnas-figures
MATLAB | 如何使用MATLAB获取顶刊《PNAS》绘图(附带近3年图像)相关推荐
- 【Brain】登上国际顶刊 PNAS!科学家从理论计算机出发,提出了一个意识模型——「有意识的图灵机」...
来源:墨玫人工智能 编译:AI 科技评论组 编辑:陈彩娴 深度学习三巨头之一的Yoshua Bengio也点头称赞. 5月下旬,国际顶刊<美国国家科学院院刊>(PNAS)发表了一篇其于去年 ...
- (顶刊复现)配电网两阶段鲁棒故障恢复(matlab实现)
参考文献: X. Chen, W. Wu and B. Zhang, "Robust Restoration Method for Active Distribution Networks, ...
- Matlab Mobile手机版获取gps数据和加速度信号融合
Matlab Mobile手机版获取gps数据和加速度信号融合 前言 安装matlab mobile Matlab Drive Connector 安装 Matlab Mobile 记录数据 Matl ...
- Matlab从移动设备获取加速度数据对步数进行计数
Matlab从移动设备获取加速度数据对步数进行计数 本文分享如何从 Android或 iOS (我的手机是ios)移动设备收集加速度数据,并使用它来对行走步数进行计数. 1.设置移动设备 为了在 MA ...
- MATLAB学习笔记#001 获取矩阵大小
MATLAB学习笔记#001 获取矩阵大小 size 函数 语法 说明 示例 参考链接 size 函数 语法 [sz1,...,szN] = size(___) 说明 返回矩阵各个维度的长度 示例 [ ...
- 使用MATLAB读取视频并获取视频信息、分帧保存
题外话:初学MATLAB,是因为跟着老师做项目,与MATLAB机器学习相关,包含了智能信息处理,是从前未接触的领域.因此,想写博客来记录自己的学习进度.老师安排的第一次任务为:用MATLAB读取视频, ...
- 遍历图像 找最小外接矩形 matlab,2018a版本MatLab利用regionprops函数获取图片中物体轮廓最小外接矩形...
2018a版本MatLab利用regionprops函数获取图片中物体最小外接矩形 本次内容,用于介绍利用matlab中的regionprops函数来获取图像区域中的物体的最小外接矩形信息(位置(x, ...
- 配电网可靠性评估(4)—(顶刊复现)基于优化模型的配电网可靠性评估
之前的博客中介绍了配电网可靠性评估的三种方法.分别是解析法中的最小路法,以及序贯蒙特卡罗模拟法及非序贯蒙特卡洛模拟法,顺带提到了含有分布式电源的配电网可靠性评估方法. 配电网可靠性评估(一)最小路法和 ...
- matlab 摄像头拍照,matlab摄像头拍照
图像采集: 该单元是指道路上安装的摄像头在检测到有车辆通过的同时进行 拍照并...在 MATLAB 中我们可以调用 im2gray 函数对图像进行灰度化处理. 4.2.2图像的...... 2 车辆牌 ...
最新文章
- Button单击事件处理:
- 我对模板模式和策略模式的理解
- java求任意个数集合的笛卡尔积,Java中任意集的笛卡尔积
- html选择器_css的9个常用选择器
- Linux之GDB调试命令
- 分享一个基于jQuery,backbone.js和underscore.js的消息提示框架 - Backbone.Notifier
- 可爱的python测试开发库及项目(python测试开发工具库汇总)
- 在SQL Server中加入包含假设和CE模型变化
- php igbinary_php_igbinary.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
- PrefTest性能测试解决方案 -- C/S结构应用系统的压力测试
- 计算机软件本科毕业生一般起薪多少,南京邮电大学本科毕业生平均薪资多少?一起来看看吧...
- 欧姆龙CP1H+CIF11与施耐德ATV变频器通讯程序
- 解决拯救者Y7000打游戏,看视频没有声音的问题
- 以太坊地址和公钥_《每日一课》第九课:什么是钱包、钱包地址、私钥、公钥?...
- linux 安装pureftp
- C++ float转换int
- python 超级秒表
- AI服务官上线“一网通办”:找政府办事就像逛网店
- 【游戏测试】客户端性能 - drawcall 工具链
- Docker从入门到干活,看这一篇够了!