src/pastecode-search.js
/*
Skrep hasil gabut
Fungsi: agar bisa search via bot whatsapp/tele dll
Author: dann
Donate woy biar nambah saldo etmin mu ini πΏπΏπΏ
*/
(async () => {
async function scrapePasteCode(langName) {
const axios = (await import("axios")).default
const cheerioModule = await import("cheerio")
const cheerio = cheerioModule.default || cheerioModule
const baseUrl = 'https://pastecode.web.id'
const targetUrl = `${baseUrl}/?lang=${encodeURIComponent(langName)}`
try {
const response = await axios.get(targetUrl, {
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Content-Type': 'application/x-www-form-urlencoded'
}
})
const $ = cheerio.load(response.data)
const results = []
$('.file-card-wrapper').each((i, elem) => {
const name = $(elem).attr('data-name') || ""
const language = $(elem).attr('data-lang') || ""
const path = $(elem).attr('data-path') || ""
const viewHref = $(elem).find('a.file-card').attr('href') || ""
const fullViewUrl = viewHref.startsWith('http') ? viewHref : baseUrl + viewHref
const sizeText = $(elem).find('.flex.items-center.gap-3.min-w-0 span').eq(1).text().trim()
const viewsText = $(elem).find('.flex.items-center.gap-3.min-w-0 span').eq(2).text().trim()
if (name) {
results.push({
name: name,
path: `/${path}`,
language: language,
size: sizeText || null,
views: parseInt(viewsText) || 0,
viewUrl: fullViewUrl,
rawUrl: `${baseUrl}/${path}`
})
}
})
const totalFilesText = $('.text-3xl.font-extrabold.font-mono').first().text().trim()
return {
status: true,
totalInPage: results.length,
totalGlobal: parseInt(totalFilesText) || results.length,
results: results
}
} catch (e) {
return { status: false, error: e.message }
}
}
const output = await scrapePasteCode("JavaScript")
return m.reply(JSON.stringify(output, null, 2))
})()
Direct URL
Disalin!