3.0.0 • Published 3 years ago
@saipulanuar/scraper v3.0.0
scraper
Install package
npm i @saipulanuar/scraperInstall latest version from github (not recommended)
npm i github:saipulanuar/scraperWhat's updated?
- Using zod to validate data input and output. (not finished yet)
- Some bug fixes.
- Breaking changes. see this
- Added
didyoumeanto search for similar words. - Added
snapsave - Added
zippyshare - Added
sfilemobi
Example use
// ESM
import * as scraper from '@saipulanuar/scraper'
// CJS
const scraper = require('@saipulanuar/scraper')Instagram Downloader
// Instagram Downloader
import {
instagramdl,
instagramdlv2,
instagramStory,
instagramStoryv2
} from '@saipulanuar/scraper'
const url = 'https://www.instagram.com/reel/CXK49yFLtJ_/?utm_source=ig_web_copy_link'
instagramdl(url).then(console.log).catch(console.error)
instagramdlv2(url).then(console.log).catch(console.error)
// use both to handle error
instagramdl(url).catch(_ => instagramdlv2(url)).then(console.log)
// Use async/await or top level await
console.log(await instagramdl(url).catch(console.error))
console.log(await instagramdlv2(url).catch(console.error))
// Instagram Story downloader
const username = 'freefirebgid'
const story = await instagramStory(username).catch(async _ => await instagramStoryv2(username))
console.log(story)instagramdluse website https://snapinsta.app,instagramdlv2use website https://downloadgram.orginstagramdlv3use website https://downvideo.quora-wiki.cominstagramdlv4use website https://instadownloader.coinstagramStoryuse website https://storydownloader.appinstagramStoryv2use website https://www.instadp.com not working
Youtube Downloader
// Youtube downloader
import {
youtubedl,
youtubedlv2
} from '@saipulanuar/scraper'
const url = 'https://youtu.be/iik25wqIuFo'
youtubedl(url).catch(_ => youtubedlv2(url)).then(({ video }) => {
video['240p'].download().then(console.log).catch(console.error)
})
// Use async/await
const yt = await youtubedl(url).catch(async () => await youtubedlv2(url))
const dl_url = await yt.video['240p'].download()
console.log(dl_url)youtubedluse website https://www.y2mate.comyoutubedlv2use website https://yt5s.comyoutubedlv3use website https://onlinevideoconverter.proyoutubeSearchuse website https://www.youtube.com
Tiktok downloader
// Tiktok downloader
import {
tiktokdl,
tiktokdlv2
} from '@saipulanuar/scraper'
// Tiktok downloader v1
const url = 'https://www.tiktok.com/@tiktok/video/6844446901010982300'
tiktokdl(url).then(console.log).catch(console.error)
// tiktokdl v2
tiktokdlv2(url).then(console.log).catch(console.error)
// async / await
console.log(await tiktokdl(url).catch(console.error))
console.log(await tiktokdlv2(url).catch(console.error))tiktokdluse website https://snaptik.apptiktokdlv2use website https://api.tikmate.apptiktokdlv3use website 'https://ssstik.iotiktokfypuse website https://t.tiktok.com Not Working
All in One Downloader
import {
aiovideodl,
savefrom,
snapsave
} from '@saipulanuar/scraper'
// Facebook video downloader
console.log(await aiovideodl('https://fb.watch/9WktuN9j-z/'))
// Twitter video downloader
console.log(await aiovideodl('https://twitter.com/jen_degen/status/1458167531869458440?s=20'))
// Tiktok downloader
console.log(await savefrom('https://www.tiktok.com/@omagadsus/video/7025456384175017243?is_from_webapp=1&sender_device=pc&web_id6982004129280116226'))
// Instagram downloader
console.log(await savefrom('https://www.instagram.com/reel/CXK49yFLtJ_/?utm_source=ig_web_copy_link'))
// Instagram downloader
console.log(await snapsave('https://www.instagram.com/reel/CXK49yFLtJ_/?utm_source=ig_web_copy_link'))
// Facebook video downloader
console.log(await snapsave('https://fb.watch/9WktuN9j-z/'))aiovideodluse website https://aiovideodl.ml Not Workingsavefromuse website https://id.savefrom.netsnapsaveuse website https://snapsave.app
Aksara Jawa
// Aksara jawa
import {
latinToAksara,
aksaraToLatin
} from '@saipulanuar/scraper'
// Latin to aksara jawa
console.log(latinToAksara('hallo rek'))
// Aksara jawa to latin
console.log(aksaraToLatin('ꦲꦭ꧀ꦭꦺꦴꦫꦺꦏ꧀', { HVokal: false })) // Hvokal: false mean ꦲ will return 'ha' not vokalSource: https://bennylin.github.io/transliterasijawa/
Primbons
// Primbons
import {
getZodiac,
nomorhoki
} from '@saipulanuar/scraper'
// Get zodiac
console.log(getZodiac(1, 1))
// Get nomor hoki
console.log(await nomorhoki(6213353))artimimpiuse website https://www.primbon.comartinameuse website https://www.primbon.comnomorhokiuse website https://www.primbon.comgetZodiacsource: https://github.com/Nurutomo/wabot-aq/blob/master/plugins/zodiac.js
Images
// Images
import {
googleImage,
pinterest,
wallpaper,
stickerTelegram,
} from '@saipulanuar/scraper'
const keyword = 'minecraft'
// Google image
console.log(await googleImage(keyword))
// Pinterest image
console.log(await pinterest(keyword))
// Wallpaper
console.log(await wallpaper(keyword))
// Sticker telegram
console.log(await stickerTelegram(keyword))googleImageuse website https://www.google.compinterestuse website https://www.pinterest.comstickerTelegramuse website https://combot.orgstickerLineuse website https://store.line.mewallpaperuse website https://www.shutterstock.comwallpaperv2use website https://wall.alphacoders.comwallpaperv3use website https://www.hdwallpapers.in
Religions
// Religions
import {
asmaulhusna, asmaulhusnajson,
alquran,
jadwalsholat, listJadwalSholat
} from '@saipulanuar/scraper'
// Asmaul Husna
console.log(await asmaulhusna())
// Asmaul Husna Json
console.log(asmaulhusnajson) // the json will empty if you never use `asmaulhusna()`
// alquran
console.log(await alquran())
// Jadwal Sholat
console.log(await jadwalsholat('semarang'))alquransource: https://raw.githubusercontent.com/rzkytmgr/quran-api/master/data/quran.jsonasmaulhusnasource: https://raw.githubusercontent.com/SaipulAnuar/database/master/religi/asmaulhusna.jsonjadwalsholatuse website https://www.jadwalsholat.org
Games
// Games
import {
tebakgambar, tebakgambarjson,
asahotak, asahotakjson
} from '@saipulanuar/scraper'
// Tebak gambar
console.log(await tebakgambar())
// Tebak gambar json
console.log(tebakgambarjson) // the json will empty if you never use `tebakgambar()`
// Asahotak
console.log(await asahotak())
// Asahotak json
console.log(asahotakjson) // the json will empty if you never use `asahotak()`asahotaksource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/asahotak.jsoncaklontongsource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/caklontong.jsonfamily100source: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/family100.jsonsiapakahakusource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/siapakahaku.jsonsusunkatasource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/susunkata.jsontebakbenderasource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/tebakbendera.jsontebakgambarsource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/tebakgambar.jsontebakkabupatensource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/tebakkabupaten.jsontebakkatasource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/tebakkata.jsontebakkimiasource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/tebakkimia.jsontebakliriksource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/tebaklirik.jsontebaktebakansource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/tebaktebakan.jsontekatekisource: https://raw.githubusercontent.com/SaipulAnuar/database/master/games/tekateki.json
News
// News
import {
cnbindonesia,
antaranews,
kompas
} from '@saipulanuar/scraper'
// Cnbindonesia
console.log(await cnbindonesia())
// Antaranews
console.log(await antaranews())
// Kompas
console.log(await kompas())antaranewsuse website https://www.antaranews.comcnbindonesiause website https://www.cnbcindonesia.comkompasuse website https://www.kompas.comliputan6use website https://www.liputan6.commerdekause website https://www.merdeka.comsuaracomuse website https://www.suara.com
Encryption
// Encryption
import {
toBase64,
fromBase64ToString,
randomUUID,
randomBytes,
createHash
} from '@saipulanuar/scraper'
// To base64
const base64 = toBase64('Hello World!!')
console.log(base64)
// From base64 to string
console.log(fromBase64ToString(base64)) // 'Hello World!!'
// Random UUID
console.log(randomUUID())
// Random Bytes
console.log(randomBytes(16))
// Hash
console.log(createHash('sha256', 'Hello World!!'))randomUUIDsource: https://github.com/uuidjs/uuid/blob/main/src/v4.js and https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.jsrandomBytesusecryptomodulecreateHashusecryptomodule
Bioskop
// Bioskop
import {
bioskopNow,
bioskop
} from '@saipulanuar/scraper'
// Bioskop
console.log(await bioskop())
// Bioskop Now
console.log(await bioskopNow())bioskopuse website https://jadwalnonton.combioskopNowuse website https://jadwalnonton.com
Downloader
import {
mediafiredl,
sfilemobi,
sfilemobiSearch,
zippyshare
} from '@saipulanuar/scraper'
// Mediafire
console.log(await mediafiredl('https://www.mediafire.com/file/gpeiucmm1xo6ln0/hello_world.mp4/file'))
// Sfilemobi
console.log(await sfilemobi('https://sfile.mobi/oGm8kAIQCs7'))
// Sfilemobi Search
console.log(await sfilemobiSearch('minecraft'))
// Zippyshare
console.log(await zippyshare('https://www53.zippyshare.com/v/Gajlfjd4/file.html'))mediafiredluse website https://www.mediafire.comsfilemobiuse website https://www.sfilemobi.comsfilemobiSearchuse website https://www.sfilemobi.comzippyshareuse website https://www.zippyshare.com
Chord
import {
chord
} from '@saipulanuar/scraper'
// Chord
console.log(await chord('Until i found you'))chorduse website https://www.gitagram.com
Breaking Changes
- from v2.0.0 to v3.0.0
savefromnow output array of object instead of objectasmaulhusnaoptionally can takeindexparameter to get the asmaulhusna of that index (default is random 1-99)
3.0.0
3 years ago