init
This commit is contained in:
commit
29541a1bec
200
index.js
Normal file
200
index.js
Normal file
@ -0,0 +1,200 @@
|
|||||||
|
import fetch from 'node-fetch';
|
||||||
|
import postgres from 'postgres';
|
||||||
|
import {drizzle} from 'drizzle-orm/postgres-js';
|
||||||
|
import {pgTable, text} from 'drizzle-orm/pg-core';
|
||||||
|
|
||||||
|
// PostgreSQL 데이터베이스 연결 설정
|
||||||
|
const sql = postgres({
|
||||||
|
host: '172.30.1.93', // PostgreSQL 호스트
|
||||||
|
port: 5432, // 포트 (기본값: 5432)
|
||||||
|
database: 'bizinfo', // 데이터베이스 이름
|
||||||
|
username: 'postgres', // 사용자 이름
|
||||||
|
password: 'Dlstjq0904!' // 비밀번호
|
||||||
|
});
|
||||||
|
|
||||||
|
const orm = drizzle(sql); // Drizzle ORM 초기화
|
||||||
|
|
||||||
|
// PostgreSQL nice 테이블 정의
|
||||||
|
const niceTable = pgTable('nice', {
|
||||||
|
empnum_bse_date: text('empnum_bse_date'),
|
||||||
|
zcd3: text('zcd3'),
|
||||||
|
bnknm: text('bnknm'),
|
||||||
|
btpnm: text('btpnm'),
|
||||||
|
etl_ipc_yn: text('etl_ipc_yn'),
|
||||||
|
upt_date: text('upt_date'),
|
||||||
|
korreprnm: text('korreprnm'),
|
||||||
|
nolt_sgng: text('nolt_sgng'),
|
||||||
|
zcd2: text('zcd2'),
|
||||||
|
dtlcont: text('dtlcont'),
|
||||||
|
crpno_rsdrgsbdtsexvl: text('crpno_rsdrgsbdtsexvl'),
|
||||||
|
nolt_sido3: text('nolt_sido3'),
|
||||||
|
chulja: text('chulja'),
|
||||||
|
etb_date: text('etb_date'),
|
||||||
|
nolt_sido2: text('nolt_sido2'),
|
||||||
|
eqrObl: text('eqrObl'),
|
||||||
|
slandc: text('slandc'),
|
||||||
|
tel: text('tel'),
|
||||||
|
fax: text('fax'),
|
||||||
|
scl: text('scl'),
|
||||||
|
zipareacdseq3: text('zipareacdseq3'),
|
||||||
|
zipareacdseq2: text('zipareacdseq2'),
|
||||||
|
nolt_sgng2: text('nolt_sgng2'),
|
||||||
|
fadivcd: text('fadivcd'),
|
||||||
|
sventure: text('sventure'),
|
||||||
|
nolt_emdg: text('nolt_emdg'),
|
||||||
|
zarcd: text('zarcd'),
|
||||||
|
opt_entrnm: text('opt_entrnm'),
|
||||||
|
empnum: text('empnum'),
|
||||||
|
kor_itemnm: text('kor_itemnm'),
|
||||||
|
upt_dtm: text('upt_dtm'),
|
||||||
|
mainupche: text('mainupche'),
|
||||||
|
nolt_engaddr2: text('nolt_engaddr2'),
|
||||||
|
nolt_engaddr3: text('nolt_engaddr3'),
|
||||||
|
nolt_dtl_koraddr: text('nolt_dtl_koraddr'),
|
||||||
|
zipareacdseq: text('zipareacdseq'),
|
||||||
|
nolt_sgng3: text('nolt_sgng3'),
|
||||||
|
eng_idscdnm: text('eng_idscdnm'),
|
||||||
|
tel2: text('tel2'),
|
||||||
|
engentrnm: text('engentrnm'),
|
||||||
|
crprgrnstscd: text('crprgrnstscd'),
|
||||||
|
rbtpnm: text('rbtpnm'),
|
||||||
|
engaddr3: text('engaddr3'),
|
||||||
|
homepurl: text('homepurl'),
|
||||||
|
tel3: text('tel3'),
|
||||||
|
engaddr2: text('engaddr2'),
|
||||||
|
amnisuyn: text('amnisuyn'),
|
||||||
|
sido: text('sido'),
|
||||||
|
bzdnm: text('bzdnm'),
|
||||||
|
eng_scl: text('eng_scl'),
|
||||||
|
zcd: text('zcd'),
|
||||||
|
nolt_sido: text('nolt_sido'),
|
||||||
|
repr_regno: text('repr_regno'),
|
||||||
|
scaledivcd: text('scaledivcd'),
|
||||||
|
eqrOblEng: text('eqrOblEng'),
|
||||||
|
cls_yndivcd: text('cls_yndivcd'),
|
||||||
|
zarcd3: text('zarcd3'),
|
||||||
|
zarcd2: text('zarcd2'),
|
||||||
|
nolt_dtl_koraddr2: text('nolt_dtl_koraddr2'),
|
||||||
|
nolt_dtl_koraddr3: text('nolt_dtl_koraddr3'),
|
||||||
|
idscdid: text('idscdid'),
|
||||||
|
eng_mainupche: text('eng_mainupche'),
|
||||||
|
eprdtldivcd: text('eprdtldivcd'),
|
||||||
|
fa_bse_date: text('fa_bse_date'),
|
||||||
|
sbqc_date: text('sbqc_date'),
|
||||||
|
koraddr: text('koraddr'),
|
||||||
|
koraddr3: text('koraddr3'),
|
||||||
|
nolt_koraddr: text('nolt_koraddr'),
|
||||||
|
koraddr2: text('koraddr2'),
|
||||||
|
ltg_date: text('ltg_date'),
|
||||||
|
rbtpnm3: text('rbtpnm3'),
|
||||||
|
nolt_koraddr3: text('nolt_koraddr3'),
|
||||||
|
nolt_koraddr2: text('nolt_koraddr2'),
|
||||||
|
x: text('x'),
|
||||||
|
y: text('y'),
|
||||||
|
rdnm_sido2: text('rdnm_sido2'),
|
||||||
|
hupegbn: text('hupegbn'),
|
||||||
|
kisreporturl: text('kisreporturl'),
|
||||||
|
rdnm_sido3: text('rdnm_sido3'),
|
||||||
|
rbtpnm2: text('rbtpnm2'),
|
||||||
|
mainpdtpcl: text('mainpdtpcl'),
|
||||||
|
stkcd: text('stkcd'),
|
||||||
|
bizno: text('bizno'),
|
||||||
|
grpnm: text('grpnm'),
|
||||||
|
sbn_date: text('sbn_date'),
|
||||||
|
eprmdydivcd: text('eprmdydivcd'),
|
||||||
|
eprdatastsdivcd: text('eprdatastsdivcd'),
|
||||||
|
bnk_brnm: text('bnk_brnm'),
|
||||||
|
korentrnm: text('korentrnm'),
|
||||||
|
fax3: text('fax3'),
|
||||||
|
logo: text('logo'),
|
||||||
|
fax2: text('fax2'),
|
||||||
|
rdnm_dtl_koraddr: text('rdnm_dtl_koraddr'),
|
||||||
|
rdnm_sgng3: text('rdnm_sgng3'),
|
||||||
|
rdnm_sido: text('rdnm_sido'),
|
||||||
|
eng_grpnm: text('eng_grpnm'),
|
||||||
|
nts_sbqcdivcd: text('nts_sbqcdivcd'),
|
||||||
|
eng_mainpdtpcl: text('eng_mainpdtpcl'),
|
||||||
|
kiscode: text('kiscode'),
|
||||||
|
korreprcd: text('korreprcd'),
|
||||||
|
engaddr: text('engaddr'),
|
||||||
|
rdnm_sgng2: text('rdnm_sgng2'),
|
||||||
|
smanda: text('smanda'),
|
||||||
|
ltgmktdivcd: text('ltgmktdivcd'),
|
||||||
|
obz_date: text('obz_date'),
|
||||||
|
x2: text('x2'),
|
||||||
|
eng_itemnm: text('eng_itemnm'),
|
||||||
|
x3: text('x3'),
|
||||||
|
fadivnm: text('fadivnm'),
|
||||||
|
sforeign: text('sforeign'),
|
||||||
|
eml: text('eml'),
|
||||||
|
crpno: text('crpno'),
|
||||||
|
rdnm_sgng: text('rdnm_sgng'),
|
||||||
|
y2: text('y2'),
|
||||||
|
nolt_emdg3: text('nolt_emdg3'),
|
||||||
|
y3: text('y3'),
|
||||||
|
nolt_emdg2: text('nolt_emdg2'),
|
||||||
|
korrdnm: text('korrdnm'),
|
||||||
|
eng_btpnm: text('eng_btpnm'),
|
||||||
|
bzdnm2: text('bzdnm2'),
|
||||||
|
bzdnm3: text('bzdnm3'),
|
||||||
|
kor_idscdnm: text('kor_idscdnm'),
|
||||||
|
eng_bnknm: text('eng_bnknm'),
|
||||||
|
logossl: text('logossl'),
|
||||||
|
stacmm: text('stacmm'),
|
||||||
|
idscd: text('idscd'),
|
||||||
|
repr_rsdrgsbdtsexvl: text('repr_rsdrgsbdtsexvl'),
|
||||||
|
gicd: text('gicd'),
|
||||||
|
epr_cnu_yn: text('epr_cnu_yn'),
|
||||||
|
nolt_engaddr: text('nolt_engaddr'),
|
||||||
|
korrdnm3: text('korrdnm3'),
|
||||||
|
korrdnm2: text('korrdnm2'),
|
||||||
|
engreprnm: text('engreprnm'),
|
||||||
|
rdnm_dtl_koraddr3: text('rdnm_dtl_koraddr3'),
|
||||||
|
rdnm_dtl_koraddr2: text('rdnm_dtl_koraddr2')
|
||||||
|
});
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const baseUrl = 'https://nice.kegorii.workers.dev/get?t=';
|
||||||
|
const firstArray = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'H', 'I', 'J', 'L', 'M', 'N', 'O', 'P', 'Q']
|
||||||
|
for (let i = 0; i < firstArray.length; i++) {
|
||||||
|
let secondArray = [];
|
||||||
|
if (i >= 0 && i <= 9) {
|
||||||
|
secondArray = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
|
||||||
|
|
||||||
|
} else {
|
||||||
|
secondArray = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
|
||||||
|
}
|
||||||
|
console.log(secondArray);
|
||||||
|
for (let x = 0; x < secondArray.length; x++) {
|
||||||
|
for (let y = 5; y < 20; y++) {
|
||||||
|
const rtnval = y.toString().padStart(3, '0');
|
||||||
|
|
||||||
|
const kiscode = firstArray[i] + secondArray[x] + rtnval;
|
||||||
|
const url = `${baseUrl}${kiscode}`;
|
||||||
|
console.log(firstArray[i] + secondArray[x] + rtnval);
|
||||||
|
try {
|
||||||
|
const response = await fetch(url);
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error(`Request failed: ${response.statusText}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const jsonData = await response.json();
|
||||||
|
const insertValues = jsonData.map(item => ({
|
||||||
|
...item // 모든 데이터를 그대로 삽입 (데이터 정제 필요)
|
||||||
|
}));
|
||||||
|
|
||||||
|
if (insertValues.length > 0) {
|
||||||
|
await orm.insert(niceTable).values(insertValues);
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`Error at kiscode:${kiscode}`, error);
|
||||||
|
}
|
||||||
|
console.log('ok');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
||||||
17
package.json
Normal file
17
package.json
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "nice-crawler",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"dotenv": "^16.5.0",
|
||||||
|
"drizzle-orm": "^0.42.0",
|
||||||
|
"node-fetch": "^3.3.2",
|
||||||
|
"pg": "^8.14.1",
|
||||||
|
"postgres": "^3.4.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user