Scrape Instagram Search Reels

Scrape instagram search reels script

Muhamad Nur Ibad

6 Januari 20251 menit baca

SCRAPE INSTAGRAM SEARCH REELS

const axios = require('axios');

async function reelsSearch(query, num = 10) {
  try {
    const params = {
      rsz: 'filtered_cse',
      num,
      hl: 'id',
      source: 'gcsc',  
      cselibv: '8fa85d58e016b414',
      cx: 'e500c3a7a523b49df',
      q: query,
      safe: 'off',
      cse_tok: 'AB-tC_6JubndXOBKJuK5i2dF4Qyl:1735731454273',
      lr: '',
      cr: '',
      gl: 'id',
      filter: 0,
      sort: '',
      as_oq: '',
      as_sitesearch: '',
      exp: 'cc,apo',
      fexp: 72801194,
      oq: '',
      gs_l: 'partner-web.1.3.0i512i433j0i512l2j0i512i433l2j0i512l2j0i512i433j0i512i433i131j0i512i433.20435.20435.3.22543.1.1.0.0.0.0.252.252.2-1.1.0.csems,nrl=10...',
      callback: 'google.search.cse.api11171',
    };

    let ab = await axios.get('https://cse.google.com/cse/element/v1', {
      params,
      headers: {
        'user-agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36',
        'x-client-data': 'CJDjygE='
      }
    }).then(response => response.data)

    const jsonStartIndex = ab.indexOf('{');
    const jsonEndIndex = ab.lastIndexOf('}');
    const jsonString = ab.slice(jsonStartIndex, jsonEndIndex + 1);

    const jsonData = JSON.parse(jsonString);

    return jsonData.results.map(item => ({
      title: item.richSnippet.metatags.ogTitle,
      description: item.richSnippet.metatags.ogDescription,
      url: item.url,
      image: item.richSnippet.metatags.ogImage
    }))
  } catch(e) {
    throw e
  }
}

module.exports = reelsSearch
Sumber: https://whatsapp.com/channel/0029VaAMjXT4yltWm1NBJV3J