1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| const element = document.querySelector('.tab-content-item'); function page() { const e = element.querySelector('#boxZ'); console.log('读取中...请稍后...'); if(!e || e.style.display == 'none') { document.childNodes[1].scrollTop = document.childNodes[1].scrollHeight; setTimeout(() => page(), 1000); } else read(); }
function read() { let model = []; let type = [];
let modelMap = {};
element.querySelectorAll('.uibox-con > dl').forEach((it) => { let brandId = it.id; let brandName = it.querySelector('div > a').innerText;
model.push({ id: brandId, name: brandName });
modelMap[brandId] = [];
it.querySelectorAll('li').forEach((i) => { if (i.id) { let typeInfo = { id: i.id, model: brandId, name: i.querySelector('h4 > a').innerText }; type.push(typeInfo);
modelMap[brandId].push(typeInfo); } }); });
console.log('!!!读取完毕!!!'); console.log('以下为品牌 JSON,点击末尾的复制按钮即可:'); console.log(JSON.stringify(model.sort((a, b) => a.id - b.id)));
console.log('以下为型号 JSON,点击末尾的复制按钮即可:'); console.log(JSON.stringify(type.sort((a, b) => a.id.replace(/[a-z]+/g, '') - b.id.replace(/[a-z]+/g, ''))));
console.log('以下为品牌与车系关联的 JSON:'); console.log(JSON.stringify(model.map(m => ({ id: m.id, name: m.name, types: modelMap[m.id].sort((a, b) => a.id.replace(/[a-z]+/g, '') - b.id.replace(/[a-z]+/g, '')) })))); }
page();
|