0.0.5 • Published 7 months ago

@iss-ai/extractor-core v0.0.5

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

Page-Extractor

Introduction

This is a sample Page Extractor! The package is dependencies axios,jquery,jsdom In Node.js. And dependencies @iss-ai/chrome-extension-axios,jquery in Chrome Extension.

Install

pnpm install @iss-ai/page-extractor
npm install @iss-ai/page-extractor
yarn add @iss-ai/page-extractor

#Node.js
pnpm install axios jquery jsdom

#Chrome Extension
pnpm install @iss-ai/chrome-extension-axios jquery

Used in Node.js

import { DomPageExtractor, IPageExtractor, JsonPageExtractor } from '@iss-ai/page-extractor';
import { getJquery, setJquery,setAxios,getAxios } from '@iss-ai/page-extractor';
import axios from 'axios'
const {$,win}=createJqueryWin()
function createJqueryWin(){
  let jsdom = require('jsdom');  
  let dom =  new jsdom.JSDOM();  
  let window = dom.window;  
  let document = window.document; 
  let $ = require('jquery')(window);
  return {$,win:window}
}
const instance=getInstance()
function getInstance(){
  const instance = axios.create({
    timeout: 10000,
    withCredentials:true,
    headers: {
      'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
      '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',
    }
  });
  instance.interceptors.response.use(function (response:any) {
    return response.data
  }, function (error:any) {
    return Promise.reject(error)
  })
  return instance
}
setJquery($,win)
setAxios(instance)
const sampleAxios=getAxios()
//static url
let url='https://xxx'
sampleAxios.get(url).then((res:any)=>{
  let extractor:IPageExtractor=new DomPageExtractor()
  let data=extractor.extractor(res)
  console.log('data-----',data)
})
//api url
url='https://xxx'
sampleAxios.get(url).then((res:any)=>{
  let extractor:IPageExtractor=new JsonPageExtractor()
  let data=extractor.extractor(res)
  console.log('data-----',data)
})

Used in ContentScript

import { DomPageExtractor, IPageExtractor, JsonPageExtractor } from '@iss-ai/page-extractor';
import axios from '@iss-ai/chrome-extension-axios'
import $ from 'jquery'
import { getJquery, setJquery,setAxios,getAxios } from '@iss-ai/page-extractor';
setJquery($,window)
setAxios(axios)
const sampleAxios=getAxios()
//static url
let url='https://xxx'
sampleAxios.get(url).then((res:any)=>{
  let extractor:IPageExtractor=new DomPageExtractor()
  let data=extractor.extractor(res)
  console.log('data-----',data)
})
//api url
url='https://xxx'
sampleAxios.get(url).then((res:any)=>{
  let extractor:IPageExtractor=new JsonPageExtractor()
  let data=extractor.extractor(res)
  console.log('data-----',data)
})