@shikytemo/shitools
v1.3.0
Published
Reusable scraping tools collection.
Downloads
1,421
Readme
Shitools
Tempat ngumpulin tools scrape dan automation kecil.
Fokus
- Scraper reusable.
- Helper request/fetch.
- Output rapi buat dipakai ulang.
- Struktur simpel biar gampang nambah module baru.
Install
npm installExample
npm run example
npm run example -- https://example.comCatbox
Wrapper Catbox buat upload file, mirror URL, hapus file, dan album.
npm run catbox -- upload-file ./image.jpg
npm run catbox -- upload-url https://example.com/image.jpg
npm run catbox -- delete-files abc123.jpg
npm run catbox -- create-album "My Album" abc123.jpg def456.png
npm run catbox -- edit-album albumshort "New Title" abc123.jpgKalau mau pakai akun Catbox, isi:
CATBOX_USER_HASH=your_user_hashScraper Pinterest reusable. Bisa mode pin URL dan search keyword dalam satu API. Mengambil metadata dan media yang bisa ditemukan:
image, video, thumbnail, pinimg.com, JSON-LD, script JSON, dan meta tag. Fetch utama memakai Axios + Cheerio, lalu fallback ke Jina Reader (r.jina.ai) untuk bypass halaman yang susah dibaca.
npm run check
node examples/pinterest.js https://www.pinterest.com/pin/123456789/
node examples/pinterest.js anime girlPemakaian module:
import { pinterest, scrapePinterest, searchPinterest } from '@shikytemo/shitools'
const result = await pinterest('anime girl', { limit: 10 })
console.log(result.media)Converter
Helper converter media berbasis ffmpeg buat bot WhatsApp atau script Node.js.
import { toAudio, toPTT, toSticker, toVideo } from '@shikytemo/shitools'
const sticker = await toSticker({ buffer, mimetype: 'image/png' })
const audio = await toAudio({ buffer, mimetype: 'video/mp4' })
const voiceNote = await toPTT({ buffer, mimetype: 'audio/mpeg' })
const video = await toVideo({ buffer, mimetype: 'image/webp' })Pastikan binary ffmpeg tersedia di device/server.
Scraper Tools
Scraper tambahan yang aman dipakai ulang di bot atau REST API kecil.
node examples/scrapers.js web https://example.com
node examples/scrapers.js npm @shikytemo/shitools
node examples/scrapers.js npm-search whatsapp bot
node examples/scrapers.js github Shikytemo/shitools
node examples/scrapers.js github-search whatsapp bot scraper
node examples/scrapers.js anime one piece
node examples/scrapers.js samehadaku gnosia episode 20
node examples/scrapers.js samehadaku-legacy one-piece-episode-1155
node examples/scrapers.js samehadaku-latest latestSource Catalog
Katalog source reusable berisi scraper internal dan 600+ public API no-auth HTTPS yang bisa dicari/filter.
node examples/sources.js list
node examples/sources.js list Anime
node examples/sources.js find weather
node examples/sources.js get weather-open-meteo
node examples/sources.js search samehadaku "one piece"
node examples/sources.js scrape samehadaku "gnosia episode 20"
node examples/sources.js latest samehadaku
node examples/sources.js fetch animals-axolotlPemakaian module:
import {
fetchSource,
getSource,
listSources,
scrapeSource,
searchSource,
searchSources,
sourceCatalog,
sources
} from '@shikytemo/shitools'
console.log(sourceCatalog.length)
console.log(listSources({ category: 'Anime' }))
console.log(searchSources('weather'))
const samehadaku = await searchSource('samehadaku', 'one piece')
const stream = await scrapeSource('samehadaku', 'gnosia episode 20')
const metadata = getSource('weather-open-meteo')
const publicApi = await fetchSource('animals-axolotl')
const pin = await sources.pinterest.scrape('https://www.pinterest.com/pin/123456789/')Pemakaian module:
import {
getGithubRepo,
getNpmPackage,
getSamehadakuLegacyStream,
getSamehadakuStream,
scrapeWebsite,
searchAnime,
searchGithubRepos,
searchNpmPackages
} from '@shikytemo/shitools'
const page = await scrapeWebsite('https://example.com')
const anime = await searchAnime('one piece')
const stream = await getSamehadakuStream('gnosia episode 20')
const legacyStream = await getSamehadakuLegacyStream('one-piece-episode-1155')
const repo = await getGithubRepo('Shikytemo/shitools')
const npmPackage = await getNpmPackage('@shikytemo/shitools')Anime scraper pakai Jikan v4. Export yang tersedia:
import {
getAnimeById,
getAnimeCharacters,
getAnimeEpisodes,
getAnimeGenres,
getAnimePictures,
getAnimeRecommendations,
getAnimeReviews,
getCurrentSeasonAnime,
getRandomAnime,
getSeasonAnime,
getTopAnime,
searchAnime,
searchCharacters,
searchManga
} from '@shikytemo/shitools'API publik Indonesia yang aman dipasang:
import {
getKatanimeAnimeList,
getKatanimeQuotesByAnime,
getRandomKatanimeQuotes,
searchKatanimeQuotes
} from '@shikytemo/shitools'
const quotes = await getRandomKatanimeQuotes()
const narutoQuotes = await getKatanimeQuotesByAnime('naruto')
const search = await searchKatanimeQuotes('kuat')Samehadaku stream scraper mengambil halaman langsung tanpa Jina Reader. Bisa input query, URL series, atau URL episode:
import {
getSamehadakuLegacyStream,
getSamehadakuStream,
searchSamehadaku,
getSamehadakuSeriesEpisodes
} from '@shikytemo/shitools'
const result = await getSamehadakuStream('gnosia episode 20')
console.log(result.episode.mirrors)
const legacy = await getSamehadakuLegacyStream('one-piece-episode-1155')
console.log(legacy.episode.mirrors.find(item => item.directVideo))Struktur
src/ core helper
src/anime.js Jikan anime/manga REST wrapper
src/catbox.js Catbox API wrapper
src/converter.js Media converter helper
src/indo.js Public Indonesia anime quote APIs
src/pinterest.js Pinterest scraper
src/registry.js GitHub/NPM public REST wrapper
src/samehadaku.js Samehadaku search/episode stream scraper
src/source-profiles.js Public source profile catalog
src/sources.js Source catalog router/search/fetch helpers
src/utility.js Shortlink, QR, and lightweight social helper
src/web.js Generic website metadata scraper
examples/ contoh pemakaian
data/ output lokal, tidak ikut gitCatatan
Gunakan scraper dengan batas wajar, hormati robots/rate limit website, dan jangan commit token atau data private.
