Skip to content

Commit

Permalink
Add packages/sfilemobi
Browse files Browse the repository at this point in the history
  • Loading branch information
BochilGaming committed Jan 21, 2024
1 parent 20ece2f commit 199a332
Show file tree
Hide file tree
Showing 25 changed files with 183 additions and 278 deletions.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
},
"devDependencies": {
"@changesets/cli": "^2.26.2",
"@types/node": "^20.11.5",
"turbo": "^1.10.14",
"typedoc": "^0.25.0",
"typedoc-plugin-google-ads": "^1.5.0",
Expand All @@ -36,6 +37,7 @@
"packages/scraper-primbon",
"packages/scraper-religions",
"packages/scraper-savefrom",
"packages/scraper-sfilemobi",
"packages/scraper-sosmed",
"packages/scraper-texts",
"packages/scraper-youtube"
Expand Down
13 changes: 0 additions & 13 deletions packages/scraper-downloader/CHANGELOG.md

This file was deleted.

18 changes: 0 additions & 18 deletions packages/scraper-downloader/README.md

This file was deleted.

2 changes: 0 additions & 2 deletions packages/scraper-downloader/index.ts

This file was deleted.

35 changes: 0 additions & 35 deletions packages/scraper-downloader/src/mediafire.ts

This file was deleted.

93 changes: 0 additions & 93 deletions packages/scraper-downloader/src/sfilemobi.ts

This file was deleted.

33 changes: 0 additions & 33 deletions packages/scraper-downloader/test/index.ts

This file was deleted.

66 changes: 0 additions & 66 deletions packages/scraper-downloader/types/index.ts

This file was deleted.

2 changes: 2 additions & 0 deletions packages/scraper-sfilemobi/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export { default as sfilemobi } from './src/sfilemobi-dl.js'
export { default as sfilemobiSearch } from './src/sfilemobi-search.js'
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@bochilteam/scraper-downloader",
"version": "1.0.2",
"description": "Downloader scraper module",
"name": "@bochilteam/scraper-sfilemobi",
"version": "0.0.1",
"description": "sfilemobi scraper module",
"main": "lib/cjs/index.js",
"module": "lib/esm/index.js",
"types": "lib/@types/index.d.ts",
Expand All @@ -14,8 +14,8 @@
},
"scripts": {
"test": "npm run test:cjs & npm run test:esm",
"test:cjs": "mocha ./lib/cjs/test/*.js",
"test:esm": "mocha ./lib/esm/test/*.js",
"test:cjs": "node --test ./lib/cjs/test",
"test:esm": "node --test ./lib/esm/test",
"build": "npm run build:cjs && npm run build:esm && npm run build:types",
"build:cjs": "tsc -p tsconfig.cjs.json",
"build:esm": "tsc -p tsconfig.esm.json",
Expand All @@ -32,19 +32,15 @@
"bugs": {
"url": "https://github.com/BochilTeam/scraper/issues"
},
"homepage": "https://github.com/BochilTeam/scraper/tree/master/packages/scraper-downloader#readme",
"homepage": "https://github.com/BochilTeam/scraper/tree/master/packages/scraper-mediafire#readme",
"files": [
"lib/**/*.js",
"lib/**/**.d.ts",
"lib/**/package.json"
],
"dependencies": {
"got": "^11.8.6",
"human-readable": "^0.2.1",
"zod": "^3.20.2"
},
"devDependencies": {
"@types/mocha": "^10.0.1",
"@types/node": "^18.11.17",
"mocha": "^10.2.0"
}
}
}
11 changes: 11 additions & 0 deletions packages/scraper-sfilemobi/src/constant.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export const DEFAULT_HEADERS = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'sec-ch-ua': '"Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'
}
44 changes: 44 additions & 0 deletions packages/scraper-sfilemobi/src/sfilemobi-dl.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import got from 'got'
import cheerio from 'cheerio'
import { DEFAULT_HEADERS } from './constant.js'
import { SfilemobidlArgsSchema, SfilemobidlSchema } from '../types/sfilemobi-dl.js'

export default async function sfilemobi(url: string) {
SfilemobidlArgsSchema.parse(arguments)

const data = await got(url, {
headers: {
...DEFAULT_HEADERS
}
}).text()
const $ = cheerio.load(data)

const dlUrl = $('#download').attr('href')
const filename = $('div.intro-container > img').attr('alt') || $('div.intro-container > h1').text()
const icon = $('div.intro-container > img').attr('src')
const type = /\/smallicon\/(.*?)\.svg/.exec(icon!)?.[1]
const $list = $('div.list')
const mimetype = $list.eq(0).text().split('-')[1]?.trim()
const uploaded = $list.eq(2).text().split('Uploaded:')[1]?.trim()
const $upload = $list.eq(1).find('a')
const uploadby = $upload.eq(0).text()
const uploadbyUrl = $upload.eq(0).attr('href')
const uploadon = $upload.eq(1).text()
const uploadonUrl = $upload.eq(1).attr('href')
const downloads = parseInt($list.eq(3).text().split('Downloads:')[1])

const result = {
url: dlUrl,
filename,
icon,
type,
mimetype,
uploaded,
uploadby,
uploadbyUrl,
uploadon,
uploadonUrl,
downloads
}
return SfilemobidlSchema.parse(result)
}
Loading

0 comments on commit 199a332

Please sign in to comment.