Hi Warga projects,
Saya butuh bot scraper dalam bentuk nodejs +
phantomjs + cheeriojs (atau scraper dalam bentuk javascript lainnya) di backend dan
vuejs atau php di frontend. Yang terpenting dapat diakses melalui
browser dan bisa running di background dengan scheduled task.
Bot bertugas menscrape bagian tertentu dari URL hasil pencarian yang sudah ditentukan sebelumnya oleh saya. Bot HANYA menscrape halaman URL tersebut dan memparsing bagian-bagian yang diperlukan saja. Bot harus bisa mengexclude html tag yang tidak dibutuhkan, seperti iklan, promosi, diskon dsb.
Bot
harus OPENSOURCE. Bot scraper yang saya pesan sebelumnya tiba-tiba
tidak bisa jalan lagi, dan developernya menghilang sejak 11/11/2019.
Untuk itu, scriptnya harus dibuka segamblang-gamblangnya, tidak
diencrypt, tidak ada dependency pada service external atau service lain
yang mengakibatkan bot tidak bisa jalan.
Website yang akan discrape ada 8, berupa toko online/marketplace ecommerce Indonesia.
Spesifikasi teknis bot sebagai berikut :
- Input berupa baris URL dari masing-masing marketplace. Contoh : "ID|NAMABARANG|URL1|URL2|URL3|URL4|URL5|URL6|URL7|URL8|HARGATERMURAH"
- Apabila ada URL marketplace yang tidak ingin discrape, dapat diskip dengan contoh format "ID|NAMABARANG|SKIP|URL2|URL3|URL4|URL5|SKIP|URL7|URL8|HARGATERMURAH"
- Input ke bot dapat berupa ratusan baris seperti contoh di atas.
- Output bot adalah file csv dengan kolom-kolom menyesuaikan barisan input di atas. Untuk URL yang diskip, outputnya adalah nilai "N/A".
- Apabila suatu URL tidak terdapat kriteria yang dicari/html tag yang dicari, atau muncul kode error dari website yang discrape, outputnya adalah "N/A".
- Output bot berupa 2 buah file .csv berisi sama. Satu CSV dinamakan
constant.csv, satu lagi bervariasi tergantung tgl dan jam digenerate,
misalkan 20190914_0930.csv. File constant.csv terdapat informasi waktu file csv dibuat. File-file tersebut dapat diakses melalui browser.
- Tiap selesai update/scraping, bot akan menggenerate 2 file csv, constant.csv, yang akan menimpa file constant.csv yang sudah ada, dan satu lagi bervariasi tergantung tgl dan jam digenerate, misalkan 20190914_0935.csv
- Ada setting untuk mengatur frekuensi scraping bot dan waktu crawling mulai satuan bulan sampai menit tertentu.
- Bot bisa menggunakan proxy
untuk scraping. Proxy berupa multiple list IP:Port, dan bot menggunakan
Proxynya secara random tiap scraping.
- Ada jeda tiap scraping satu baris input dan bisa diatur waktu jedanya. Waktu jeda tidak berupa fixed time, melainkan bervariasi, misalkan jeda tiap 5 detik sampai 180 detik. Bot akan secara random menjeda scrapingnya antara waktu tersebut.