Après des appels tant attendus, le code pour obtenir des dessins de "PNAS" est là, mais cette fois j'ai étudié pendant longtemps et je n'ai pas pensé à comment obtenir des dessins pour des articles payants, donc je n'ai téléchargé que des articles gratuits (principalement parce que J'ai peur de la contrefaçon), mais uniquement des articles gratuits Cela fait trois ans et il y a près de 1,7w d'images. En même temps, lorsque vous utilisez des téléchargements de code, vous devez toujours surfer sur Internet de manière scientifique. Par conséquent, il est recommandé de allez directement à la fin de l'article pour télécharger le package de compression d'image que j'ai organisé.
Écrivez le code et utilisez la ligne de commande pour exécuter getPNASJPG(YEAR).YEAR est l'année du journal, comme getPNASJPG(2022).S'il y a une erreur 403, exécutez-la après un certain temps et ça devrait aller. . code afficher comme ci-dessous:
function getPNASJPG(YEAR)
if nargin < 1
YEAR = 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_issue
url_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)
try
ibegin = 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)])
catch
end
end
kbegin = 1;
end
jbegin = 1;
end
end
Le code est configuré pour télécharger avec des points d'arrêt, c'est-à-dire que vous pouvez télécharger la moitié du programme interrompu et continuer le téléchargement après un certain temps.
En même temps, si vous voyez parfois une image et que vous souhaitez trouver l'article source à lire, le nom de l'image téléchargée par ce code marquera la source de l'image. Par exemple, vous êtes intéressé par l'image nommée pnas. 2212633120fig06 ci-dessous :
Entrez simplement le lien de l'article dans votre navigateur :
- https://www.pnas.org/doi/10.1073/pnas.2212633120
C'est bien la Fig.6, tout à fait juste !
Affichage partiel de l'image
Il y a une grande différence entre de bonnes images et de mauvaises images sur "PNAS". Chacun a le choix d'apprendre. Voici quelques images intéressantes :
2023
2022
2021
acquisition d'image
Netdisk Baidu
Fournissez des liens vers le disque réseau Baidu d'images au cours des trois dernières années, soit un total d'environ 1,7 w d'images :
2023 (2.49G-3209 feuilles)
Lien :
https://pan.baidu.com/s/1YxRmt53jH-_TXGg6zkqtIg?pwd=slan
Code d'extraction : slan
2022 (3.12G-3329 photos)
Lien :
https://pan.baidu.com/s/1vFcEy48oOklW9UOUShVeAA?pwd=slan
Code d'extraction : slan
2022 (3.02G-3359 photos)
Lien :
https://pan.baidu.com/s/1ItVAmS18DcwlCNsM2u5rwg?pwd=slan
Code d'extraction : slan
2021 (2.61G-3077 photos)
Lien :
https://pan.baidu.com/s/1XHYlxR9_s1Ly9LCtlfnrhQ?pwd=slan
Code d'extraction : slan
Prochain 2021 (photos 3.35G-3887)
Lien :
https://pan.baidu.com/s/1uCUoi_hUUKlZ3kfc2oI4Yw?pwd=slan
Code d'extraction : slan
gîte entrepôt
Si le disque réseau tombe en panne, vous pouvez vous rendre dans l'entrepôt gitee pour obtenir le dernier lien du disque réseau :