MATLAB を使用して雑誌「Cell」のすべての図面を取得する方法を学びました。すぐにファンから「Nature」、「Sience」、「PNAS」などを配置するかどうかの質問がありました。今回は、私が手配します。 『Nature』の図面をすべて入手するため、その後、他の雑誌も少しずつ整理していきますが、一気に刊行することはありません(結局、テーマがつかめない場合は更新することになります)。
「Nature」の図面を入手するには米国への科学的アクセスが必要であり、そうでない場合はダウンロードが非常に遅くなりますので、記事の最後に直接アクセスして画像圧縮パッケージを入手することをお勧めします。サイズは約 2G、過去 3 年間で 10,000 枚以上の画像が収集されました。
ここにビワのコードも入れてみましょう。使い方はとても簡単です。たとえば、2022 年の写真をダウンロードするには、コマンド ライン ウィンドウで getNaturePNGwhileTure(2022) を実行します。
function getNaturePNGWhileTure(YEAR)
if nargin < 1
YEAR = 2023;
end
pbegin = 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_num
url_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:50
pbegin = 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;
else
url_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])
end
end
jbegin = 1;
end
ibegin = 1;
end
end
学校情報や単元情報でログインしないと取得できない記事も多いためOpen Access
、MATLABにこの制限を回避させるために、ギャラリー内の各画像の表示ページを推測し、画像ごとに個別にリンクを取得する方法を採用しています。そのため、ダウンロード速度が遅くなります。速すぎると、画像をダウンロードするのに 2 ~ 3 秒かかる場合があります。繰り返しになりますが、記事の最後にあるネットワーク ディスクに直接移動して、圧縮パッケージをダウンロードすることをお勧めします。ダウンロードされました。
コードはブレークポイントを使用してダウンロードするように設定されています。つまり、中断されたプログラムの半分をダウンロードし、しばらくしてからダウンロードを続行できます。
同時に、時々画像を見て、読むソース記事を見つけたい場合は、このコードによってダウンロードされた画像の名前によって画像のソースがマークされます。たとえば、次のようになります。 :
記事番号が s41586-023-06124-2 であることを確認して、ブラウザに記事リンクを直接入力できます。
- https://www.nature.com/articles/s41586-023-06124-2
オリジナルの論文は簡単に見つかります。
部分画像表示
2023年
2022年
2021年
長年私をフォローしてきたファンは、この写真に精通しているかもしれません。
そう、これが私が書いた一連の描画再彫刻記事の第二回目の再彫刻の原画なのですが、私の彫刻効果はこんな感じです。
全く同じですか!ご覧になりたい場合は、ホームページでご自身で検索してください。
この記事では、この図の複製シリーズが続きます。この記事で提供されている写真の中で、見栄えの良い、興味深い写真に出会った場合は、写真番号を送って問い合わせることもできます。お時間があれば、検討してください。押してる!
画像取得
百度ネットディスク
過去 3 年間の Baidu Netdisk の写真へのリンクを提供します。これには、2023 年の 2,232 枚、2022 年の 4,509 枚、2021 年の 3,727 枚の写真が含まれており、合計 10,000 枚以上の写真が含まれます。
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 ウェアハウスにアクセスして最新のネットワーク ディスク リンクを取得できます。