Categories: Tools

Download Paper Sekaligus Batch Dengan Memberi Judul Menggunakan Sopaper

Kadang kita perlu mendownload banyak paper banyak dalam waktu yang singkat. Saya telah mencoba beberapa kali dan ternyata melalahkan juga. Kemudian saya iseng mencari tools untuk mendownlaod paper secara batch dengan kita hanya memberi judul saja. Tertujulah saya pada satu program cli python https://github.com/ppwwyyxx/SoPaper dengan 29 fork , 118 star, 179 commit (walaupun commit terakhir 2017 😛 ) yang membuat saya yakin.

Cara install nya cukup mudah hanya menggunakan pip. Cara menggunakannya juga tinggal panggil command dengan paramter judul nya

#install
pip install --user sopaper
#download paper
sopaper "Distinctive image features from scale-invariant keypoints"

Optimasi Untuk Download Sekaligus

Karena program nya belum menyediakan batch download, dan karena saya malas, saya iseng buat bash script untuk batch download dengan cara menulis daftar judul di file. lalu memanggil script dnegan menerima output dari file (io redirection / < )

Bash script ini hanya bisa dijalankan di *nix (mac, linux, dsb) untuk yang menggunakan windows seperti saya bisa menggunakan WSL . Atau bisa juga cygwin, git bash.

Berikut bash script nya

#!/bin/bash

fail=()
success=()
while read judul; do
        printf "downloading $judul";
        sopaper "$judul" &>> log;
        if [ $? -eq 0  ]
        then
                success+=("$judul");
                printf " : success\n";
        else
                fail+=("$judul");
                printf " : fail\n";
        fi
done

printf "\ndone\n";

printf "success : ${#success[@]}\n";
for judul2 in "${success[@]}"; do
        printf "$judul2\n";
done

printf "\n";

printf "fail : ${#fail[@]}\n";
for judul2 in "${fail[@]}"; do
        printf "$judul2\n";
done

Seharusnya saya menggunakan python lalu membuat pull request atau fork, namun belum sempet 😀

Untuk kecepatan saya mencoba mendownload 2 paper dan menghabiskan waktu selama 1 menit . @TODO : membuat perbandingakn mendownlaod paper banyak, bikin berapa persen berhasil berapa persen gagal. dan hitung performa nya juga

Menurut saya ini sudah cukup karena saya lebih suka mouseless 😎 Kalau ada yang mau dibuat program gui/web nya mungkin bisa komentar dibawah sehingga bisa saya pertimbangkan 😀 Atau mungkin ada tools lain yang lebih gampang.

Update

Ternyata programnya tidak mengembalikan return code error (selain 0) jika paper gagal di download / tidak ditemukan. Sehingga kode bash script diatas tidak berjalan semestinya, paper yang gagal di download dianggap berhasil. Mungkin saya akan mencoba fork dan memperbaikinya

Herbert Abdillah

Test

View Comments

Recent Posts

Disk 1 tb sisa 100 gb

Berikut ini detail breakdown nya Docker

7 months ago

Langchain JsonOutputParser Invalid json output Error

Sometimes json output from llm like this : {"key": "value"}``` that langchain JsonOutputParser regex cant…

8 months ago

Tontonan Bagus

https://www.youtube.com/watch?v=ZAqIoDhornk (more…)

8 months ago

Ada Apa Didalam Sistem Operasi (Linux). Apa yang membedakan distribusi Linux seperti Ubuntu, Redhat, Alpine?

#include <stdio.h> int main() { FILE *f_ptr; char f_content[256]; char output[512]; f_ptr = fopen("/tmp/1337", "r");…

11 months ago

Convert OpenSSL 1 in Ruby Gem to OpenSSL 3

Version 3 have different interface Example: https://github.com/herbertabdillah/fabric-gateway-ruby/commit/c7377aaf2e62de1e2ac309965a09b5c7c72a2c7e (more…)

2 years ago

Catatan Belajar Ruby on Rails dari aliran Java dan Php

Telah di edit. Sumber Asli : https://twitter.com/nateberkopec/status/1250603032523370496/photo/1 Ruby on Rails merupakan framework web MVC menggunakan…

3 years ago