Spaces:
Sleeping
Sleeping
| $targetDir = "E:\Archivos (meanwhile)" | |
| if (!(Test-Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force } | |
| $dois = @( | |
| "10.3390/molecules25061356", | |
| "10.3390/molecules27010014", | |
| "10.1007/s12355-018-0589-z", | |
| "10.3390/12030607", | |
| "10.3390/ijms25084197", | |
| "10.1016/j.indcrop.2016.04.054", | |
| "10.21704/rea.v21i1.1845", | |
| "10.3390/horticulturae11101210", | |
| "10.3390/horticulturae11060612", | |
| "10.1007/s11240-016-1049-7", | |
| "10.21448/ijsm.496724", | |
| "10.3390/biom13050746", | |
| "10.3390/molecules25122759", | |
| "10.1007/s12892-020-00066-1", | |
| "10.1105/tpc.004218", | |
| "10.21203/rs.3.rs-4835008/v1", | |
| "10.1038/nbt.1524", | |
| "10.36995/j.recyt.2020.33.010", | |
| "10.1007/s10535-012-0289-6", | |
| "10.1590/s0103-50532013005000003", | |
| "10.1021/jf1005935", | |
| "10.3389/fpls.2012.00222", | |
| "10.3390/ijms252413584", | |
| "10.1590/0103-8478cr20181029", | |
| "10.22541/au.174394998.87153798/v1", | |
| "10.1007/s00253-021-11306-x", | |
| "10.1007/s11240-023-02599-z", | |
| "10.1002/bit.25346", | |
| "10.1038/s41598-024-65483-6", | |
| "10.21503/cyd.v23i2.2092", | |
| "10.1007/s11240-025-03005-6", | |
| "10.1007/s12355-018-0655-6", | |
| "10.1007/s11130-021-00912-9", | |
| "10.1080/15592324.2025.2558871", | |
| "10.3390/plants10122762", | |
| "10.5772/50568", | |
| "10.1007/s11240-017-1312-6", | |
| "10.1515/biolog-2017-0133", | |
| "10.9755/ejfa.2021.v33.i3.2666", | |
| "10.1111/j.1365-313X.2011.04486.x", | |
| "10.1021/jf202185m", | |
| "10.1093/pcp/pcm131", | |
| "10.1016/J.INDCROP.2019.111530", | |
| "10.1007/s11240-020-01902-6", | |
| "10.1007/s11240-024-02909-z", | |
| "10.3390/horticulturae10080788", | |
| "10.1007/bf02932383", | |
| "10.5897/jmpr11.1106", | |
| "10.1002/jbm.540010406", | |
| "10.1016/j.bcab.2021.101907", | |
| "10.1016/j.ejbt.2018.08.006", | |
| "10.1007/s11738-012-1136-2", | |
| "10.1038/330677a0", | |
| "10.1073/pnas.89.15.7213", | |
| "10.1007/s12355-019-00727-8", | |
| "10.1590/s0100-84042001000300013", | |
| "10.1111/j.1399-3054.1962.tb08052.x", | |
| "10.3390/plants11030439", | |
| "10.1016/b978-0-12-812689-9.00009-1", | |
| "10.1021/acsomega.3c07404", | |
| "10.1007/s00449-025-03270-x", | |
| "10.17576/jsm-2022-5107-06", | |
| "10.1007/s11240-024-02804-7", | |
| "10.17268/agroind.sci.2020.01.13", | |
| "10.3389/fpls.2023.1310405", | |
| "10.1016/j.indcrop.2025.120997", | |
| "10.15373/2249555X/nov2011/3", | |
| "10.3389/fpls.2023.1159588", | |
| "10.3390/antiox13060692", | |
| "10.37761/rsqp.v87i2.343", | |
| "10.3390/agronomy11122414", | |
| "10.15381/rpb.v30i2.24582", | |
| "10.18054/PB.2016.118.1.3420", | |
| "10.5281/zenodo.2333352", | |
| "10.3390/molecules21020182", | |
| "10.21448/ijsm.1079812", | |
| "10.3390/molecules25040767", | |
| "10.17576/jsm-2025-5404-03", | |
| "10.1155/2022/5445291", | |
| "10.3390/molecules30173476", | |
| "10.1201/9780138743208-2", | |
| "10.1590/s1517-83822013005000032", | |
| "10.3390/ijms25042136", | |
| "10.3390/agronomy14081743", | |
| "10.22302/iribb.jur.mp.v89i2.458", | |
| "10.21895/incres.2015.v6n2.03", | |
| "10.1111/j.1365-313X.2007.03082.x", | |
| "10.17268/agroind.sci.2019.01.11", | |
| "10.1007/s11240-024-02892-5", | |
| "10.1109/tla.2023.10246344", | |
| "10.1016/j.biotechadv.2021.107774", | |
| "10.35790/eg.5.1.2017.15416", | |
| "10.22146/mot.87736", | |
| "10.1016/j.biotechadv.2005.01.003" | |
| ) | |
| $mirrors = @("https://sci-hub.st", "https://sci-hub.ru", "https://sci-hub.se") | |
| $downloaded = @() | |
| $notDownloaded = @() | |
| foreach ($doi in $dois) { | |
| Write-Host "Processing $doi..." -ForegroundColor Cyan | |
| $success = $false | |
| foreach ($mirror in $mirrors) { | |
| $url = "$mirror/$doi" | |
| try { | |
| # Use curl.exe to get the page content | |
| $html = curl.exe -s -L -A "Mozilla/5.0" $url | |
| # Extract PDF link using regex | |
| if ($html -match 'id\s*=\s*"pdf"[^>]+src\s*=\s*"([^"]+)"' -or $html -match 'embed[^>]+src\s*=\s*"([^"]+)"') { | |
| $pdfUrl = $matches[1] | |
| if ($pdfUrl -like "//*") { $pdfUrl = "https:$pdfUrl" } | |
| elseif ($pdfUrl -like "/*") { $pdfUrl = "$mirror$pdfUrl" } | |
| $safeName = ($doi -replace '[^a-zA-Z0-9]', '_') + ".pdf" | |
| $dest = Join-Path $targetDir $safeName | |
| Write-Host " Found PDF at $pdfUrl. Downloading..." -ForegroundColor Yellow | |
| curl.exe -L -k -A "Mozilla/5.0" -o $dest $pdfUrl | |
| if (Test-Path $dest) { | |
| $size = (Get-Item $dest).Length | |
| if ($size -gt 10000) { | |
| $success = $true | |
| break | |
| } else { | |
| Write-Host " File too small ($size bytes), possibly blocked." -ForegroundColor Red | |
| Remove-Item $dest | |
| } | |
| } | |
| } | |
| } catch { | |
| Write-Host " Error on mirror $mirror : $_" -ForegroundColor Red | |
| } | |
| } | |
| if ($success) { | |
| $downloaded += $doi | |
| Write-Host " SUCCESS: $doi" -ForegroundColor Green | |
| } else { | |
| $notDownloaded += $doi | |
| Write-Host " FAILED: $doi" -ForegroundColor Red | |
| } | |
| # Random sleep to avoid detection | |
| $sleepTime = Get-Random -Minimum 2 -Maximum 5 | |
| Start-Sleep -Seconds $sleepTime | |
| } | |
| # Generate Report | |
| $reportFile = Join-Path $targetDir "informe_descarga.md" | |
| $report = @" | |
| # Informe de Descarga de Artículos | |
| ## Resumen | |
| - Descargados: $($downloaded.Count) | |
| - Fallidos/No encontrados: $($notDownloaded.Count) | |
| ## DOIs Descargados | |
| $(foreach ($d in $downloaded) { "- $d" }) | |
| ## DOIs No Descargados | |
| $(foreach ($d in $notDownloaded) { "- $d" }) | |
| ## Referencias (APA 7) | |
| (Consulte el archivo original para las referencias completas en orden alfabético) | |
| "@ | |
| $report | Out-File -FilePath $reportFile -Encoding utf8 | |
| Write-Host "Report generated at $reportFile" -ForegroundColor Green | |