0.0.5 • Published 7 months ago
@iss-ai/extractor-core v0.0.5
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 jqueryUsed 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)
})