MATLAB | 如何使用MATLAB获取顶刊《Nature》全部绘图(附带近3年全部图像)

news/2024/11/27 19:13:17/

我出了如何使用MATLAB获取期刊《Cell》全部绘图,立马就有粉丝问《Nature》、《Sience》、《PNAS》啥的会不会安排,这期就给大家安排《Nature》全部绘图获取,之后其他期刊也会慢慢安排,但是不会一次性全出完(毕竟不能抓住一个主题就狠更)。

由于《Nature》绘图获取需要科学上网让自己位置变到美国,不然下载就会巨慢,因此建议直接去文末拿图像压缩包,每年的图像压缩包大约2G大小,搜集了近三年一万多张图。

杷虫代码也放一下叭,使用方法很简单,例如下载2022年图片,就命令行窗口运行getNaturePNGWhileTure(2022):

function getNaturePNGWhileTure(YEAR)
if nargin < 1YEAR = 2023;
endpbegin = 1; ibegin = 1; jbegin = 1; 
forderName=['Year_',num2str(YEAR)];
if exist(['.\image_',forderName,'\pijbreak.mat'],'file')load(['.\image_',forderName,'\pijbreak.mat']);
end
if ~exist(['.\image_',forderName],'dir')mkdir(['.\image_',forderName]);
end
disp([pbegin,ibegin,jbegin])url_full = 'https://www.nature.com/nature/research-articles?searchType=journalSearch&sort=PubDate&year=<Y/>&page=<P/>';
url_year = strrep(url_full,'<Y/>',num2str(YEAR));options=weboptions('Timeout',inf);
html_year  = webread(strrep(url_year,'<P/>','1'),options);fprintf('1->')
A_page_num = strfind(html_year,'u-visually-hidden'); 
Z_page_num = strfind(html_year,'data-page="next"');
page_num   = html_year(A_page_num(find(A_page_num<Z_page_num,1,'last')):Z_page_num);
page_num   = page_num(32:36);
page_num   = str2double(page_num(abs(page_num)<=57&abs(page_num)>=48));for p = pbegin:page_numurl_page  = strrep(url_year,'<P/>',num2str(p));html_page = webread(url_page,options);fprintf('2\n')A_html_artical = strfind(html_page,'itemprop="name headline"');Z_html_artical = strfind(html_page,'data-track-action="view article"');for i = ibegin:length(Z_html_artical)html_artical = html_page(A_html_artical(find(A_html_artical<Z_html_artical(i),1,'last')):Z_html_artical(i));A_artical    = strfind(html_artical,'<a href=');Z_artical    = strfind(html_artical,'class="c-card__link u-link-inherit"');html_artical = html_artical(A_artical(1)+10:Z_artical);html_artical = html_artical(1:find(html_artical=='"')-1);for j = jbegin:50pbegin = p; ibegin = i ; jbegin = j;save(['.\image_',forderName,'\pijbreak.mat'],'pbegin','ibegin','jbegin')html_png=webread(['https://www.nature.com/',html_artical,'/figures/',num2str(j)]);A_png        = strfind(html_png,'aria-describedby');Z_png        = strfind(html_png,'alt="Fig.');if isempty(Z_png)break;elseurl_png  = html_png(A_png:Z_png(find(Z_png>A_png,1)));url_png  = ['https:',url_png(strfind(url_png,'src="')+5:end-3)];url_png  = strrep(url_png,'lw685','full');name_png = ['.\image_',forderName,'\',html_artical(10:end),' P',num2str(j)];websave(name_png,url_png,options);disp(['Downloading Year-',num2str(YEAR),...' Page-',num2str(p),' Artical-',num2str(i),...' Pic-',num2str(j),':',html_artical])endendjbegin = 1;endibegin = 1;
end
end

由于很多文章使用学校信息或者单位信息登录后才能获得Open Access,为了让MATLAB绕过该限制,采用了猜出每张图在图库内的显示页面并每张图单独获取一次链接的方式,因此下载速度不会太快,可能两三秒才能下载一张图,再次建议直接去文末网盘下载已经下好的压缩包。

代码设置了可断点下载,就是可以下载了一半中断程序后过段时间接着下。

同时如果有的时候看到一张图非常好想找找源文章读一读,此代码下载的图像名称就标注了图像的来源,比如: 对下图五子棋论文很感兴趣:

看到文章编号为s41586-023-06124-2,就可以直接在浏览器输入文章链接:

  • https://www.nature.com/articles/s41586-023-06124-2

可以轻松找到原论文:


部分图像展示

2023


2022


2021


关注我比较久的粉丝可能对这张图比较眼熟:

没错这就是我写的绘图复刻系列文章的第二篇复刻的原图哈,我复刻效果长这个样子:

是不是一模一样!想瞅瞅的可自行在主页搜索:

  • MATLAB | 绘图复刻(二) | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加

这篇文章哈,绘图复刻系列也会继续做下去,大家在这篇提供的图像中如果遇到了一些比较好看且有趣的图,也可以发一下图像编号问我哈,如果有时间有机会会考虑出推送的!


图像获取

百度网盘

提供近三年来图片百度网盘链接,其中2023年目前为止共2232张,2022年共4509张,2021年共3727张,共计一万余张:

2023(1.34G-2232张)

链接:
https://pan.baidu.com/s/1pE-34BXmX7HPYAHiQ5SZ-w?pwd=slan
提取码:slan

2022(2.78G-4509张)

链接:
https://pan.baidu.com/s/1fIbM92eK5Q3rgS3x8h6QjA?pwd=slan
提取码:slan

2021(1.85G-3727张)

链接:
https://pan.baidu.com/s/1bQCj7vBgTCrNx4WprmCjbg?pwd=slan
提取码:slan

gitee仓库

若网盘失效,可去gitee仓库获取最新网盘链接:

https://gitee.com/slandarer/nature-figures


http://www.ppmy.cn/news/455471.html

相关文章

十年考研高频单词

十年考研高频单词&#xff08;资料收积&#xff09; 2003 Text 1 spymaster /5spai7mB:stE/ 即spymaster&#xff0c;间谍大王、间谍组织首脑。 strategic /strE5ti:dVik/ &#xff08;战略的&#xff1b;对全局起关键作用的&#xff09;为strategy&#xff08;战略&#x…

王伟峰:谈《啪啪三国》立项开发运营

http://www.unitymanual.com/forum.php?modviewthread&tid15287&highlight%E4%B8%89%E5%9B%BD papa01.jpg (40.54 KB, 下载次数: 0) 下载附件 保存到相册 6 天前 上传 小蛮牛报道 / 2014年unity亚洲开发者大会大会于4月14日在北京国家会议中心正式落幕&#xff0c;此…

生意精:说说如何开好一家小超市!

&#xfeff;&#xfeff; http://bbs.yinhang.com/thread-309768-1-1.html 本人今年42岁&#xff0c;开店已经有20年&#xff0c;虽然文化不高&#xff0c;但是开店&#xff08;超市)的水平相当的牛逼&#xff01;我觉得我自己就是一个科学家&#xff08;超市科学家&#xff0…

关于爬网易云音乐时使用fiddler调试JS遇到的问题?

1. 这几天一直想做个网站&#xff0c;关于网易云的&#xff0c;就是爬取网易云评论来进行展示。有了想法&#xff0c;就立马行动起来。我的准备是用python来爬取网易云评论。然后自己写个前端&#xff0c;进行展示。不需要太复杂。就是一个简单的页面就行了。通过js向我的后端…

Go语言的TCP和HTTP网络服务基础

目录 【TCP Socket 编程模型】 Socket读操作 【HTTP网络服务】 HTTP客户端 HTTP服务端 TCP/IP 网络模型实现了两种传输层协议&#xff1a;TCP 和 UDP&#xff0c;其中TCP 是面向连接的流协议&#xff0c;为通信的两端提供稳定可靠的数据传输服务&#xff1b;UDP 提供了一种…

儿童液晶擦写手写板芯片-QX2601

概述 QX2601是一款液晶手写板擦写专用芯片&#xff0c;内部集成了升压、擦写驱动、按键去抖动以及低功耗待机等多个功能模块 QX2601工作电压范围宽&#xff0c;在2.5V&#xff5e;5.5V范围内都可以工作&#xff0c;输出电压稳定且可调&#xff0c;输出电压的调整是通过调整外…

162-SOP8液晶手写板专用IC

概述 162-SOP8液晶手写板擦写板专用IC芯片162-SOP8是一款液晶手写板擦写专用芯片&#xff0c;内部集成了升压、擦写驱动、按键去抖动以及低功耗待机等多个功能模块 162-SOP8工作电压范围宽&#xff0c;在2.5V&#xff5e;5.5V范围内都可以工作&#xff0c;输出电压稳定且可调&a…

QX2601液晶手写板擦写板专用IC芯片

概述 QX2601液晶手写板擦写板专用IC芯片QX2601是一款液晶手写板擦写专用芯片&#xff0c;内部集成了升压、擦写驱动、按键去抖动以及低功耗待机等多个功能模块 QX2601工作电压范围宽&#xff0c;在2.5V&#xff5e;5.5V范围内都可以工作&#xff0c;输出电压稳定且可调&#xf…