WILDAN_IZZUDIN

[JS] FACEBOOK SCRAPER

Jan 2nd, 2022 (edited)
690
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let cookie = require('cookie')
  2. let fetch = require('node-fetch')
  3. let cheerio = require('cheerio')
  4.  
  5. function facebook(url) {
  6.    return new Promise(async (resolve, reject) => {
  7.       try {
  8.          let Go = await fetch('https://fbdownloader.app/id', {
  9.             method: 'GET',
  10.             headers: {
  11.                'User-Agent': 'GoogleBot'
  12.             }
  13.          })
  14.          let isCookie = Go.headers.get('set-cookie').split(',').map((v) => cookie.parse(v)).reduce((a, c) => {
  15.             return {
  16.                ...a,
  17.                ...c
  18.             }
  19.          }, {})
  20.          let isHtml = await Go.text()
  21.          isCookie = {
  22.             '.AspNetCore.Antiforgery.vmpBg8YRfdE': isCookie['.AspNetCore.Antiforgery.vmpBg8YRfdE']
  23.          }
  24.          isCookie = Object.entries(isCookie).map(([name, value]) => cookie.serialize(name, value)).join(' ')
  25.          let $ = cheerio.load(isHtml)
  26.          let token = $('input[name=__RequestVerificationToken]').attr('value')
  27.          let form = new FormData
  28.          form.append('__RequestVerificationToken', token)
  29.          form.append('q', url)
  30.          let json = await (await fetch('https://fbdownloader.app/api/ajaxSearch', {
  31.             method: 'POST',
  32.             headers: {
  33.                Accept: '*/*',
  34.                'Accept-Language': 'en-US,enq=0.9',
  35.                'User-Agent': 'GoogleBot',
  36.                Cookie: isCookie,
  37.                ...form.getHeaders()
  38.             },
  39.             body: form
  40.          })).json()
  41.          let ch = cheerio.load(json.data)
  42.          let data = []
  43.          ch('table > tbody > tr').each(function(i, e) {
  44.             let isUrl = ch(ch(e).find('td')[2]).find('a').attr('href')
  45.             if (typeof isUrl != 'undefined') data.push({
  46.                quality: ch(ch(e).find('td')[0]).text(),
  47.                url: isUrl
  48.             })
  49.          })
  50.          if (data.length == 0) return resolve({
  51.             creator: '@neoxrs – Wildan Izzudin',
  52.             status: false
  53.          })
  54.          return resolve({
  55.             creator: '@neoxrs – Wildan Izzudin',
  56.             status: true,
  57.             data
  58.          })
  59.       } catch (e) {
  60.          console.log(e)
  61.          resolve({
  62.             creator: '@neoxrs – Wildan Izzudin',
  63.             status: false
  64.          })
  65.       }
  66.    })
  67. }
Add Comment
Please, Sign In to add comment