cheerIo에서 데이터를 추출하고 excel-export를 통해 결과를 Excel에 저장합니다.
const request = require('request');
const cheerio = require('cheerio')
const fs = require('fs');
const { wf, excel, l } = require('./utils')
const generateHeaderByTable = (table) => {
const ths = table.find('th')
const titleList = []
for (let i = 0; i < ths.length; i++){
titleList.push(
{
caption: ths.eq(i).text().trim().replace(/\s*/g, ''),
type: 'string',
width: '30'
}
)
}
return titleList
};
const generateRowByTable = (table) => {
const tds = table.find('td');
const row = [];
for (let i = 0; i < tds.length; i++){
row.push(
tds.eq(i).text().trim().replace(/\s*/g, '')
)
}
return row
}
const getExcelData = () => {
fs.readFile('./d1.txt','utf-8', (err, data) => {
$ = cheerio.load(data)
const details = $('.details')
const titleArr = [...generateHeaderByTable(details.eq(0)),...generateHeaderByTable(details.eq(1))]
const rowArr = []
for (let i = 0; i < details.length; i = i+2){
rowArr.push([...generateRowByTable(details.eq(i)),...generateRowByTable(details.eq(i+1))])
}
excel('./index.xlsx', titleArr, rowArr)
})
}
function loadFile() {
fs.readFile('./d1.txt','utf-8', (err, data) => {
$ = cheerio.load(data)
const trs = $('tr')
let str = '';
for (let l = 0 ; l < trs.length; l++){
let boo = String($(trs[l]).find('th').eq(0).text().trim()) === ' '
if(Boolean(boo)){
str += '
'
}
str += ($(trs[l]).find('th').eq(0).text().trim()+' '+$(trs[l]).find('td').eq(0).text().trim().replace(/\s*/g,''));
str += '
'
str += ' '
str += '
'
if ($(trs[l]).find('th').length > 1){
str += ($(trs[l]).find('th').eq(1).text().trim()+' '+$(trs[l]).find('td').eq(1).text().trim().replace(/\s*/g,''));
str += '
'
str += ' '
str += '
'
}
}
wf('./d2.txt', str)
})
}
// loadFile();
getExcelData()
//getCompanyInfo('http://101.227.181.106/jsp/view/info.jsp?id=2092')
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.