Add new JavaScript files for various services including awards, ethics, e-books, and local performance assessments. Also, add corresponding JSON files for menu data and HTML debug pages for detailed views. Remove obsolete manual JSON file.
This commit is contained in:
parent
a5b7c145e9
commit
a6ff259798
221
award_of_pride.js
Normal file
221
award_of_pride.js
Normal file
@ -0,0 +1,221 @@
|
||||
// หน้าแรก > งานบริการ > รางวัลแห่งความภูมิใจ
|
||||
|
||||
const { execSync } = require("child_process");
|
||||
const cheerio = require("cheerio");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
const BASE = "https://ladsawai.go.th";
|
||||
const OUT = path.join(process.cwd(), "รางวัลแห่งความภูมิใจ");
|
||||
|
||||
fs.mkdirSync(OUT, { recursive: true });
|
||||
|
||||
function curlHtml(url) {
|
||||
return execSync(
|
||||
`curl -L -s "${url}" -H "User-Agent: Mozilla/5.0" -H "Accept-Language: th-TH,th;q=0.9"`,
|
||||
{ encoding: "utf8", maxBuffer: 20 * 1024 * 1024 }
|
||||
);
|
||||
}
|
||||
|
||||
function absUrl(src) {
|
||||
if (!src) return null;
|
||||
if (src.startsWith("http")) return src;
|
||||
return BASE + src;
|
||||
}
|
||||
|
||||
function scrapeDetailImagesContent(detailUrl) {
|
||||
const html = curlHtml(detailUrl);
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
// ---------- images ----------
|
||||
const imgSet = new Set();
|
||||
|
||||
$(".maingroup.gallery a[href]").each((_, a) => {
|
||||
const href = ($(a).attr("href") || "").trim();
|
||||
const full = absUrl(href);
|
||||
if (full) imgSet.add(full);
|
||||
});
|
||||
|
||||
if (imgSet.size === 0) {
|
||||
$("a[href]").each((_, a) => {
|
||||
const href = ($(a).attr("href") || "").trim();
|
||||
const full = absUrl(href);
|
||||
if (full && /\.(jpg|jpeg|png|webp|gif)(\?|$)/i.test(full)) imgSet.add(full);
|
||||
});
|
||||
}
|
||||
|
||||
// ---------- content ----------
|
||||
// ✅ เลือกกล่องที่ไม่ใช่ gallery และ "มีข้อความจริง"
|
||||
const candidates = $(".col-12.maingroup").not(".gallery");
|
||||
|
||||
let bestBox = null;
|
||||
let bestScore = -1;
|
||||
|
||||
candidates.each((_, el) => {
|
||||
const $el = $(el);
|
||||
|
||||
// เอา text โดยตัดของไม่เกี่ยว (emoji img, script, style)
|
||||
const text = $el
|
||||
.clone()
|
||||
.find("img, script, style")
|
||||
.remove()
|
||||
.end()
|
||||
.text()
|
||||
.replace(/\s+/g, " ")
|
||||
.trim();
|
||||
|
||||
const pCount = $el.find("p").length;
|
||||
const score = (text ? text.length : 0) + pCount * 50; // ให้ p มีน้ำหนักเพิ่ม
|
||||
|
||||
if (score > bestScore) {
|
||||
bestScore = score;
|
||||
bestBox = $el;
|
||||
}
|
||||
});
|
||||
|
||||
let content = "";
|
||||
if (bestBox && bestBox.length) {
|
||||
const lines = [];
|
||||
|
||||
bestBox.find("p").each((_, p) => {
|
||||
const t = $(p)
|
||||
.clone()
|
||||
.find("img") // ตัดรูป emoji ใน p
|
||||
.remove()
|
||||
.end()
|
||||
.text()
|
||||
.replace(/\s+/g, " ")
|
||||
.trim();
|
||||
|
||||
if (t) lines.push(t);
|
||||
});
|
||||
|
||||
content = lines.length
|
||||
? lines.join("\n")
|
||||
: bestBox
|
||||
.clone()
|
||||
.find("img, script, style")
|
||||
.remove()
|
||||
.end()
|
||||
.text()
|
||||
.replace(/\s+/g, " ")
|
||||
.trim();
|
||||
}
|
||||
|
||||
let mainImageUrl = ''
|
||||
try{
|
||||
const mainImageDiv = $(".imagestopic img[src]");
|
||||
const src = ($(mainImageDiv).attr("src") || "").trim();
|
||||
const full = absUrl(src);
|
||||
if (full) mainImageUrl = full;
|
||||
}
|
||||
catch(error){
|
||||
mainImageUrl = ''
|
||||
}
|
||||
|
||||
return { imgs: [...imgSet], text: content, mainImage: mainImageUrl };
|
||||
}
|
||||
|
||||
function scrapeOnePage(menuId, page, saveHtml = false) {
|
||||
const url = `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||
const html = curlHtml(url);
|
||||
|
||||
if (saveHtml) {
|
||||
fs.writeFileSync(path.join(OUT, `page-menu-${menuId}-page-${page}.html`), html, "utf8");
|
||||
}
|
||||
|
||||
const $ = cheerio.load(html);
|
||||
const items = [];
|
||||
|
||||
$(".row.data-row").each((_, row) => {
|
||||
const el = $(row);
|
||||
|
||||
const title = el
|
||||
.find(".col-12.col-sm-10")
|
||||
.text()
|
||||
.replace(/\s+/g, " ")
|
||||
.trim();
|
||||
|
||||
const detailRef = el
|
||||
.find("a.listdataconfig_link ") // a.listdataconfig_link
|
||||
.attr("href")
|
||||
.trim();
|
||||
|
||||
const date = el.find(".col-sm-2").last().text().trim();
|
||||
const imgSrc = el.find("img").attr("src");
|
||||
|
||||
if (!title) return;
|
||||
|
||||
const linkD = `https://ladsawai.go.th` + detailRef
|
||||
const { text, imgs, mainImage } = linkD ? scrapeDetailImagesContent(linkD) : [];
|
||||
|
||||
items.push({
|
||||
title,
|
||||
detailRef: linkD,
|
||||
detail:{
|
||||
img: imgs,
|
||||
content: text,
|
||||
mainImage: mainImage
|
||||
},
|
||||
date: date || null,
|
||||
image: absUrl(imgSrc),
|
||||
sourcePage: page,
|
||||
sourceUrl: url,
|
||||
});
|
||||
});
|
||||
// "sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||
// detailRef: https://ladsawai.go.th/public/list/data/detail/id/3826/menu/1559/page/1
|
||||
// /public/list/data/detail/id/3826/menu/1559/page/1
|
||||
|
||||
const output = {
|
||||
source: url,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
menuId,
|
||||
page,
|
||||
count: items.length,
|
||||
items,
|
||||
};
|
||||
|
||||
const outJson = path.join(OUT, `list-menu-${menuId}-page-${page}.json`);
|
||||
fs.writeFileSync(outJson, JSON.stringify(output, null, 2), "utf8");
|
||||
|
||||
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||
return items;
|
||||
}
|
||||
|
||||
(function main() {
|
||||
const menuId = 1402; // กิจกรรม
|
||||
const totalPages = 1;
|
||||
|
||||
const all = [];
|
||||
const seen = new Set();
|
||||
|
||||
// ถ้าไม่อยากให้มี HTML 53 ไฟล์ ให้เป็น false
|
||||
const saveHtml = true;
|
||||
|
||||
for (let page = 1; page <= totalPages; page++) {
|
||||
const items = scrapeOnePage(menuId, page, saveHtml);
|
||||
|
||||
// รวม + กันซ้ำ
|
||||
for (const it of items) {
|
||||
const key = `${it.title}|${it.date || ""}|${it.image || ""}`;
|
||||
if (seen.has(key)) continue;
|
||||
seen.add(key);
|
||||
all.push(it);
|
||||
}
|
||||
}
|
||||
|
||||
const merged = {
|
||||
menuId,
|
||||
totalPages,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
totalItems: all.length,
|
||||
items: all,
|
||||
};
|
||||
|
||||
const outAll = path.join(OUT, `list-menu-${menuId}-all.json`);
|
||||
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||
|
||||
console.log("✅ Saved merged JSON:", outAll);
|
||||
console.log("✅ Total unique items:", all.length);
|
||||
})();
|
||||
202
code-of-ethics.js
Normal file
202
code-of-ethics.js
Normal file
@ -0,0 +1,202 @@
|
||||
// หน้าแรก > งานบริการ > ประมวลจริยธรรม
|
||||
|
||||
const { execSync } = require("child_process");
|
||||
const cheerio = require("cheerio");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const axios = require("axios").default;
|
||||
|
||||
const BASE = "https://ladsawai.go.th";
|
||||
const OUT = path.join(process.cwd(), "ประมวลจริยธรรม");
|
||||
fs.mkdirSync(OUT, { recursive: true });
|
||||
|
||||
function curlHtml(url) {
|
||||
return execSync(
|
||||
`curl -L -s "${url}" -H "User-Agent: Mozilla/5.0" -H "Accept-Language: th-TH,th;q=0.9"`,
|
||||
{ encoding: "utf8", maxBuffer: 30 * 1024 * 1024 }
|
||||
);
|
||||
}
|
||||
|
||||
function absUrl(href) {
|
||||
if (!href) return null;
|
||||
if (href.startsWith("http")) return href;
|
||||
if (href.startsWith("/")) return BASE + href;
|
||||
return BASE + "/" + href;
|
||||
}
|
||||
|
||||
function buildUrl(menuId, page) {
|
||||
return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||
}
|
||||
|
||||
function detectTotalPages($) {
|
||||
let maxPage = 1;
|
||||
$("a").each((_, a) => {
|
||||
const t = $(a).text().trim();
|
||||
if (/^\d+$/.test(t)) maxPage = Math.max(maxPage, Number(t));
|
||||
});
|
||||
return maxPage;
|
||||
}
|
||||
|
||||
function extractFileLinksFromDetail(detailUrl) {
|
||||
const html = curlHtml(detailUrl);
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
const files = [];
|
||||
|
||||
$("a.uploadconfig_link").each((_, a) => {
|
||||
const el = $(a);
|
||||
const href = el.attr("href");
|
||||
const dataHref = el.attr("data-href");
|
||||
const fileUrl = absUrl(dataHref || href);
|
||||
if (!fileUrl) return;
|
||||
|
||||
const text = el.text().replace(/\s+/g, " ").trim() || null
|
||||
let title = text
|
||||
let downloadCount = 0
|
||||
if(text && text.includes('ดาวน์โหลดแล้ว')){
|
||||
try {
|
||||
const splitList = text.split(' ดาวน์โหลดแล้ว ')
|
||||
title = splitList[0]
|
||||
downloadCount = parseInt(splitList[1].replace('ครั้ง', '').trim())
|
||||
} catch (error) {
|
||||
title = text
|
||||
downloadCount = 0
|
||||
}
|
||||
}
|
||||
|
||||
files.push({
|
||||
text: title,
|
||||
url: fileUrl,
|
||||
downloadCount: downloadCount
|
||||
});
|
||||
});
|
||||
|
||||
// fallback: ลิงก์ไฟล์แบบตรง ๆ
|
||||
$("a[href]").each((_, a) => {
|
||||
const href = $(a).attr("href");
|
||||
const u = absUrl(href);
|
||||
if (!u) return;
|
||||
|
||||
if (/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar)(\?|$)/i.test(u)) {
|
||||
if (!files.some((f) => f.url === u)) {
|
||||
files.push({ text: $(a).text().trim() || null, url: u });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
// ✅ ยิง api /status/1/ เพื่อเอา path จริง
|
||||
async function resolveRealFilePath(fileUrl) {
|
||||
try {
|
||||
// กันกรณีมี / ท้ายอยู่แล้ว
|
||||
const statusUrl = fileUrl.replace(/\/$/, "") + "/status/1/";
|
||||
const res = await axios.get(statusUrl, { timeout: 30000 });
|
||||
return res?.data?.path || null;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async function scrapeOnePage(menuId, page, saveHtml = false) {
|
||||
const url = buildUrl(menuId, page);
|
||||
const html = curlHtml(url);
|
||||
|
||||
if (saveHtml) {
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `debug-menu-${menuId}-page-${page}.html`),
|
||||
html,
|
||||
"utf8"
|
||||
);
|
||||
}
|
||||
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
let items = []
|
||||
|
||||
try {
|
||||
const files = extractFileLinksFromDetail(url);
|
||||
for(let i = 0; i < files.length; i++){
|
||||
const file = files[i]
|
||||
let realPath = null;
|
||||
let fileObject = {
|
||||
fileName: file.text,
|
||||
fileUrl: file.url, // ไฟล์จากหน้า detail
|
||||
filePath: "", // ✅ ของจริงจาก api /status/1/
|
||||
downloadCount: file.downloadCount
|
||||
}
|
||||
try {
|
||||
const fileUrl = file?.url ? absUrl(file.url) : null;
|
||||
if (fileUrl) {
|
||||
realPath = await resolveRealFilePath(fileUrl);
|
||||
fileObject.filePath = `https://ladsawai.go.th/public/${realPath}`
|
||||
}
|
||||
} catch (error) {
|
||||
realPath = null;
|
||||
}
|
||||
|
||||
items.push(fileObject)
|
||||
}
|
||||
} catch (e) {
|
||||
}
|
||||
|
||||
const output = {
|
||||
source: url,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
menuId,
|
||||
page,
|
||||
count: items.length,
|
||||
items,
|
||||
};
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `menu-${menuId}-page-${page}.json`),
|
||||
JSON.stringify(output, null, 2),
|
||||
"utf8"
|
||||
);
|
||||
|
||||
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||
return { $, items };
|
||||
}
|
||||
|
||||
(async function main() {
|
||||
const menuId = 1287;
|
||||
|
||||
const first = await scrapeOnePage(menuId, 1, true);
|
||||
const totalPages = detectTotalPages(first.$);
|
||||
console.log("✅ totalPages =", totalPages);
|
||||
|
||||
const all = [];
|
||||
const seen = new Set();
|
||||
|
||||
function addItems(items) {
|
||||
for (const it of items) {
|
||||
const key = `${it.title}|${it.detailUrl || ""}|${it.filePath || ""}`;
|
||||
if (seen.has(key)) continue;
|
||||
seen.add(key);
|
||||
all.push(it);
|
||||
}
|
||||
}
|
||||
|
||||
addItems(first.items);
|
||||
|
||||
for (let p = 2; p <= totalPages; p++) {
|
||||
const { items } = await scrapeOnePage(menuId, p, false);
|
||||
addItems(items);
|
||||
}
|
||||
|
||||
const merged = {
|
||||
menuId,
|
||||
totalPages,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
totalItems: all.length,
|
||||
items: all,
|
||||
};
|
||||
|
||||
const outAll = path.join(OUT, `menu-${menuId}-all.json`);
|
||||
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||
|
||||
console.log("🎉 Saved all:", outAll);
|
||||
console.log("🎉 Total unique:", all.length);
|
||||
})();
|
||||
202
e-book.js
Normal file
202
e-book.js
Normal file
@ -0,0 +1,202 @@
|
||||
// หน้าแรก > งานบริการ > อีบุ๊ค (e-Book)
|
||||
|
||||
const { execSync } = require("child_process");
|
||||
const cheerio = require("cheerio");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const axios = require("axios").default;
|
||||
|
||||
const BASE = "https://ladsawai.go.th";
|
||||
const OUT = path.join(process.cwd(), "อีบุ๊ค (e-Book)");
|
||||
fs.mkdirSync(OUT, { recursive: true });
|
||||
|
||||
function curlHtml(url) {
|
||||
return execSync(
|
||||
`curl -L -s "${url}" -H "User-Agent: Mozilla/5.0" -H "Accept-Language: th-TH,th;q=0.9"`,
|
||||
{ encoding: "utf8", maxBuffer: 30 * 1024 * 1024 }
|
||||
);
|
||||
}
|
||||
|
||||
function absUrl(href) {
|
||||
if (!href) return null;
|
||||
if (href.startsWith("http")) return href;
|
||||
if (href.startsWith("/")) return BASE + href;
|
||||
return BASE + "/" + href;
|
||||
}
|
||||
|
||||
function buildUrl(menuId, page) {
|
||||
return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||
}
|
||||
|
||||
function detectTotalPages($) {
|
||||
let maxPage = 1;
|
||||
$("a").each((_, a) => {
|
||||
const t = $(a).text().trim();
|
||||
if (/^\d+$/.test(t)) maxPage = Math.max(maxPage, Number(t));
|
||||
});
|
||||
return maxPage;
|
||||
}
|
||||
|
||||
function extractFileLinksFromDetail(detailUrl) {
|
||||
const html = curlHtml(detailUrl);
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
const files = [];
|
||||
|
||||
$("a.uploadconfig_link").each((_, a) => {
|
||||
const el = $(a);
|
||||
const href = el.attr("href");
|
||||
const dataHref = el.attr("data-href");
|
||||
const fileUrl = absUrl(dataHref || href);
|
||||
if (!fileUrl) return;
|
||||
|
||||
const text = el.text().replace(/\s+/g, " ").trim() || null
|
||||
let title = text
|
||||
let downloadCount = 0
|
||||
if(text && text.includes('ดาวน์โหลดแล้ว')){
|
||||
try {
|
||||
const splitList = text.split(' ดาวน์โหลดแล้ว ')
|
||||
title = splitList[0]
|
||||
downloadCount = parseInt(splitList[1].replace('ครั้ง', '').trim())
|
||||
} catch (error) {
|
||||
title = text
|
||||
downloadCount = 0
|
||||
}
|
||||
}
|
||||
|
||||
files.push({
|
||||
text: title,
|
||||
url: fileUrl,
|
||||
downloadCount: downloadCount
|
||||
});
|
||||
});
|
||||
|
||||
// fallback: ลิงก์ไฟล์แบบตรง ๆ
|
||||
$("a[href]").each((_, a) => {
|
||||
const href = $(a).attr("href");
|
||||
const u = absUrl(href);
|
||||
if (!u) return;
|
||||
|
||||
if (/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar)(\?|$)/i.test(u)) {
|
||||
if (!files.some((f) => f.url === u)) {
|
||||
files.push({ text: $(a).text().trim() || null, url: u });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
// ✅ ยิง api /status/1/ เพื่อเอา path จริง
|
||||
async function resolveRealFilePath(fileUrl) {
|
||||
try {
|
||||
// กันกรณีมี / ท้ายอยู่แล้ว
|
||||
const statusUrl = fileUrl.replace(/\/$/, "") + "/status/1/";
|
||||
const res = await axios.get(statusUrl, { timeout: 30000 });
|
||||
return res?.data?.path || null;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async function scrapeOnePage(menuId, page, saveHtml = false) {
|
||||
const url = buildUrl(menuId, page);
|
||||
const html = curlHtml(url);
|
||||
|
||||
if (saveHtml) {
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `debug-menu-${menuId}-page-${page}.html`),
|
||||
html,
|
||||
"utf8"
|
||||
);
|
||||
}
|
||||
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
let items = []
|
||||
|
||||
try {
|
||||
const files = extractFileLinksFromDetail(url);
|
||||
for(let i = 0; i < files.length; i++){
|
||||
const file = files[i]
|
||||
let realPath = null;
|
||||
let fileObject = {
|
||||
fileName: file.text,
|
||||
fileUrl: file.url, // ไฟล์จากหน้า detail
|
||||
filePath: "", // ✅ ของจริงจาก api /status/1/
|
||||
downloadCount: file.downloadCount
|
||||
}
|
||||
try {
|
||||
const fileUrl = file?.url ? absUrl(file.url) : null;
|
||||
if (fileUrl) {
|
||||
realPath = await resolveRealFilePath(fileUrl);
|
||||
fileObject.filePath = `https://ladsawai.go.th/public/${realPath}`
|
||||
}
|
||||
} catch (error) {
|
||||
realPath = null;
|
||||
}
|
||||
|
||||
items.push(fileObject)
|
||||
}
|
||||
} catch (e) {
|
||||
}
|
||||
|
||||
const output = {
|
||||
source: url,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
menuId,
|
||||
page,
|
||||
count: items.length,
|
||||
items,
|
||||
};
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `menu-${menuId}-page-${page}.json`),
|
||||
JSON.stringify(output, null, 2),
|
||||
"utf8"
|
||||
);
|
||||
|
||||
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||
return { $, items };
|
||||
}
|
||||
|
||||
(async function main() {
|
||||
const menuId = 1625;
|
||||
|
||||
const first = await scrapeOnePage(menuId, 1, true);
|
||||
const totalPages = detectTotalPages(first.$);
|
||||
console.log("✅ totalPages =", totalPages);
|
||||
|
||||
const all = [];
|
||||
const seen = new Set();
|
||||
|
||||
function addItems(items) {
|
||||
for (const it of items) {
|
||||
const key = `${it.title}|${it.detailUrl || ""}|${it.filePath || ""}`;
|
||||
if (seen.has(key)) continue;
|
||||
seen.add(key);
|
||||
all.push(it);
|
||||
}
|
||||
}
|
||||
|
||||
addItems(first.items);
|
||||
|
||||
for (let p = 2; p <= totalPages; p++) {
|
||||
const { items } = await scrapeOnePage(menuId, p, false);
|
||||
addItems(items);
|
||||
}
|
||||
|
||||
const merged = {
|
||||
menuId,
|
||||
totalPages,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
totalItems: all.length,
|
||||
items: all,
|
||||
};
|
||||
|
||||
const outAll = path.join(OUT, `menu-${menuId}-all.json`);
|
||||
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||
|
||||
console.log("🎉 Saved all:", outAll);
|
||||
console.log("🎉 Total unique:", all.length);
|
||||
})();
|
||||
291
facilitation-act-2558.js
Normal file
291
facilitation-act-2558.js
Normal file
@ -0,0 +1,291 @@
|
||||
// พรบ. อำนวยความสะดวก 2558
|
||||
|
||||
const { execSync } = require("child_process");
|
||||
const cheerio = require("cheerio");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const axios = require("axios").default;
|
||||
|
||||
const BASE = "https://ladsawai.go.th";
|
||||
const OUT = path.join(process.cwd(), "พรบ. อำนวยความสะดวก 2558");
|
||||
fs.mkdirSync(OUT, { recursive: true });
|
||||
|
||||
function curlHtml(url) {
|
||||
return execSync(
|
||||
`curl -L -s "${url}" -H "User-Agent: Mozilla/5.0" -H "Accept-Language: th-TH,th;q=0.9"`,
|
||||
{ encoding: "utf8", maxBuffer: 30 * 1024 * 1024 }
|
||||
);
|
||||
}
|
||||
|
||||
function absUrl(href) {
|
||||
if (!href) return null;
|
||||
if (href.startsWith("http")) return href;
|
||||
if (href.startsWith("/")) return BASE + href;
|
||||
return BASE + "/" + href;
|
||||
}
|
||||
|
||||
function buildUrl(menuId, catid, page) {
|
||||
if(catid){
|
||||
return `${BASE}/public/list/data/datacategory/catid/${catid}/menu/${menuId}/page/${page}`;
|
||||
}
|
||||
else{
|
||||
return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||
}
|
||||
}
|
||||
|
||||
function detectTotalPages($) {
|
||||
let maxPage = 1;
|
||||
$("a").each((_, a) => {
|
||||
const t = $(a).text().trim();
|
||||
if (/^\d+$/.test(t)) maxPage = Math.max(maxPage, Number(t));
|
||||
});
|
||||
return maxPage;
|
||||
}
|
||||
|
||||
function extractFileLinksFromDetail(detailUrl) {
|
||||
const html = curlHtml(detailUrl);
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
const files = [];
|
||||
|
||||
$("a.uploadconfig_link").each((_, a) => {
|
||||
const el = $(a);
|
||||
const href = el.attr("href");
|
||||
const dataHref = el.attr("data-href");
|
||||
const fileUrl = absUrl(dataHref || href);
|
||||
if (!fileUrl) return;
|
||||
|
||||
const text = el.text().replace(/\s+/g, " ").trim() || null
|
||||
let title = text
|
||||
let downloadCount = 0
|
||||
if(text && text.includes('ดาวน์โหลดแล้ว')){
|
||||
try {
|
||||
const splitList = text.split(' ดาวน์โหลดแล้ว ')
|
||||
title = splitList[0]
|
||||
downloadCount = parseInt(splitList[1].replace('ครั้ง', '').trim())
|
||||
} catch (error) {
|
||||
title = text
|
||||
downloadCount = 0
|
||||
}
|
||||
}
|
||||
|
||||
files.push({
|
||||
text: title,
|
||||
url: fileUrl,
|
||||
downloadCount: downloadCount
|
||||
});
|
||||
});
|
||||
|
||||
// fallback: ลิงก์ไฟล์แบบตรง ๆ
|
||||
$("a[href]").each((_, a) => {
|
||||
const href = $(a).attr("href");
|
||||
const u = absUrl(href);
|
||||
if (!u) return;
|
||||
|
||||
if (/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar)(\?|$)/i.test(u)) {
|
||||
if (!files.some((f) => f.url === u)) {
|
||||
files.push({ text: $(a).text().trim() || null, url: u });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
// ✅ ยิง api /status/1/ เพื่อเอา path จริง
|
||||
async function resolveRealFilePath(fileUrl) {
|
||||
try {
|
||||
// กันกรณีมี / ท้ายอยู่แล้ว
|
||||
const statusUrl = fileUrl.replace(/\/$/, "") + "/status/1/";
|
||||
const res = await axios.get(statusUrl, { timeout: 30000 });
|
||||
return res?.data?.path || null;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// ✅ limit concurrency แบบง่าย (กันยิงหนักเกิน)
|
||||
async function mapLimit(arr, limit, mapper) {
|
||||
const ret = [];
|
||||
let i = 0;
|
||||
|
||||
async function worker() {
|
||||
while (i < arr.length) {
|
||||
const idx = i++;
|
||||
ret[idx] = await mapper(arr[idx], idx);
|
||||
}
|
||||
}
|
||||
|
||||
const workers = Array.from({ length: Math.min(limit, arr.length) }, worker);
|
||||
await Promise.all(workers);
|
||||
return ret;
|
||||
}
|
||||
|
||||
async function scrapeOnePage(menuId, catid, page, saveHtml = false, detailid = undefined) {
|
||||
const url = buildUrl(menuId, catid, page);
|
||||
const html = curlHtml(url);
|
||||
|
||||
if (saveHtml) {
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `debug-menu-${menuId}${catid ? `-catid-${catid}` : ''}${detailid ? `-detail-${detailid}` : ''}-page-${page}.html`),
|
||||
html,
|
||||
"utf8"
|
||||
);
|
||||
}
|
||||
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
// ✅ แปลง rows เป็น array ก่อน
|
||||
const rows = $(".row.data-row").toArray();
|
||||
|
||||
// ✅ ประมวลผลแบบมี limit (เช่น 5 concurrent)
|
||||
const items = (await mapLimit(rows, 5, async (row) => {
|
||||
const el = $(row);
|
||||
const a = el.find("a.listdataconfig_link[href]").first();
|
||||
if (!a.length) return null;
|
||||
|
||||
const title =
|
||||
a.find("label.font-weight").text().replace(/\s+/g, " ").trim() ||
|
||||
a.text().replace(/\s+/g, " ").trim();
|
||||
|
||||
if (!title) return null;
|
||||
|
||||
const detailUrl = absUrl(a.attr("href"));
|
||||
let files = [];
|
||||
let realPath = null;
|
||||
|
||||
try {
|
||||
if(detailid){
|
||||
//มี category แล้ว มี id แล้วไปหาเนื้อหาได้เลย
|
||||
if (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||
if (firstFileUrl) {
|
||||
realPath = await resolveRealFilePath(firstFileUrl);
|
||||
}
|
||||
}
|
||||
else if(catid){
|
||||
//มี category แต่ไม่มี id เอา id ไปหา list ก่อน
|
||||
try {
|
||||
// Extract id and menu from URL: /public/list/data/detail/id/{id}/menu/{menu}/page/{page}/catid/{catid}
|
||||
const urlMatch = detailUrl.match(/\/id\/(\d+)\/menu\/(\d+)/);
|
||||
const detailId = urlMatch ? urlMatch[1] : null;
|
||||
// const menu = urlMatch ? urlMatch[2] : null;
|
||||
|
||||
if(catid){
|
||||
const cateList = await scrapeOnePage(menuId, catid, 1, saveHtml, detailId)
|
||||
|
||||
return {
|
||||
title,
|
||||
detailUrl: detailUrl || null,
|
||||
items: cateList.items,
|
||||
sourcePage: page,
|
||||
sourceUrl: url,
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('error :', error)
|
||||
}
|
||||
}
|
||||
else{
|
||||
//ไม่มี category เอา category ไปหา list ก่อน
|
||||
try {
|
||||
// Extract id and menu from URL: /public/list/data/detail/catid/{catid}/menu/{menu}/page/{page}
|
||||
const urlMatch = detailUrl.match(/\/catid\/(\d+)\/menu\/(\d+)/);
|
||||
const cateid = urlMatch ? urlMatch[1] : null;
|
||||
// const menu = urlMatch ? urlMatch[2] : null;
|
||||
|
||||
if(cateid){
|
||||
const cateList = await scrapeOnePage(menuId, cateid, 1, saveHtml)
|
||||
|
||||
return {
|
||||
title,
|
||||
detailUrl: detailUrl || null,
|
||||
items: cateList.items,
|
||||
sourcePage: page,
|
||||
sourceUrl: url,
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('error :', error)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
files = [];
|
||||
realPath = null;
|
||||
}
|
||||
|
||||
return {
|
||||
title,
|
||||
detailUrl: detailUrl || null,
|
||||
fileName: files?.[0]?.text ? files[0].text : null,
|
||||
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||
downloadCount: files?.[0]?.downloadCount ? files[0].downloadCount : null,
|
||||
sourcePage: page,
|
||||
sourceUrl: url,
|
||||
};
|
||||
}))
|
||||
.filter(Boolean); // ตัด null ออก
|
||||
|
||||
const output = {
|
||||
source: url,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
menuId,
|
||||
catid,
|
||||
page,
|
||||
count: items.length,
|
||||
items,
|
||||
};
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `menu-${menuId}${catid ? `-catid-${catid}` : ''}-page-${page}.json`),
|
||||
JSON.stringify(output, null, 2),
|
||||
"utf8"
|
||||
);
|
||||
|
||||
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||
return { $, items: catid ? output : items };
|
||||
}
|
||||
|
||||
(async function main() {
|
||||
const menuId = 1268;
|
||||
// const catid = 86;
|
||||
|
||||
const first = await scrapeOnePage(menuId, undefined, 1, true);
|
||||
const totalPages = detectTotalPages(first.$);
|
||||
console.log("✅ totalPages =", totalPages);
|
||||
|
||||
const all = [];
|
||||
const seen = new Set();
|
||||
|
||||
function addItems(items) {
|
||||
for (const it of items) {
|
||||
const key = `${it.title}|${it.detailUrl || ""}|${it.filePath || ""}`;
|
||||
if (seen.has(key)) continue;
|
||||
seen.add(key);
|
||||
all.push(it);
|
||||
}
|
||||
}
|
||||
|
||||
addItems(first.items);
|
||||
|
||||
for (let p = 2; p <= totalPages; p++) {
|
||||
const { items } = await scrapeOnePage(menuId, undefined, p, false);
|
||||
addItems(items);
|
||||
}
|
||||
|
||||
const merged = {
|
||||
menuId,
|
||||
// catid,
|
||||
totalPages,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
totalItems: all.length,
|
||||
items: all,
|
||||
};
|
||||
|
||||
const outAll = path.join(OUT, `menu-${menuId}-all.json`);
|
||||
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||
|
||||
console.log("🎉 Saved all:", outAll);
|
||||
console.log("🎉 Total unique:", all.length);
|
||||
})();
|
||||
@ -146,6 +146,7 @@ async function scrapeOnePage(menuId, page, saveHtml = false) {
|
||||
}
|
||||
|
||||
let detailHtmlPath = ''
|
||||
if (saveHtml) {
|
||||
try {
|
||||
// Extract id and menu from URL: /public/list/data/detail/id/{id}/menu/{menu}/page/{page}
|
||||
const urlMatch = detailUrl.match(/\/id\/(\d+)\/menu\/(\d+)/);
|
||||
@ -161,20 +162,21 @@ async function scrapeOnePage(menuId, page, saveHtml = false) {
|
||||
"utf8"
|
||||
);
|
||||
|
||||
} catch (error) {
|
||||
console.error('error :', error)
|
||||
detailHtmlPath = ''
|
||||
}
|
||||
}
|
||||
|
||||
if(realPath == null){
|
||||
return {
|
||||
title,
|
||||
detailUrl: detailUrl || null,
|
||||
detailPageHtml: detailHtmlPath, // ไฟล์จากหน้า detail
|
||||
detailPageHtml: detailHtmlPath ?? undefined, // ไฟล์จากหน้า detail
|
||||
sourcePage: page,
|
||||
sourceUrl: url,
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('error :', error)
|
||||
detailHtmlPath = ''
|
||||
}
|
||||
|
||||
return {
|
||||
title,
|
||||
|
||||
271
journal-information.js
Normal file
271
journal-information.js
Normal file
@ -0,0 +1,271 @@
|
||||
// หน้าแรก > งานบริการ > ข้อมูลวารสาร
|
||||
|
||||
const { execSync } = require("child_process");
|
||||
const cheerio = require("cheerio");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const axios = require("axios").default;
|
||||
|
||||
const BASE = "https://ladsawai.go.th";
|
||||
const OUT = path.join(process.cwd(), "ข้อมูลวารสาร");
|
||||
fs.mkdirSync(OUT, { recursive: true });
|
||||
|
||||
function curlHtml(url) {
|
||||
return execSync(
|
||||
`curl -L -s "${url}" -H "User-Agent: Mozilla/5.0" -H "Accept-Language: th-TH,th;q=0.9"`,
|
||||
{ encoding: "utf8", maxBuffer: 30 * 1024 * 1024 }
|
||||
);
|
||||
}
|
||||
|
||||
function absUrl(href) {
|
||||
if (!href) return null;
|
||||
if (href.startsWith("http")) return href;
|
||||
if (href.startsWith("/")) return BASE + href;
|
||||
return BASE + "/" + href;
|
||||
}
|
||||
|
||||
function buildUrl(menuId, page) {
|
||||
return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||
}
|
||||
|
||||
function detectTotalPages($) {
|
||||
let maxPage = 1;
|
||||
$("a").each((_, a) => {
|
||||
const t = $(a).text().trim();
|
||||
if (/^\d+$/.test(t)) maxPage = Math.max(maxPage, Number(t));
|
||||
});
|
||||
return maxPage;
|
||||
}
|
||||
|
||||
function extractFileLinksFromDetail(detailUrl) {
|
||||
const html = curlHtml(detailUrl);
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
const files = [];
|
||||
|
||||
$("a.uploadconfig_link").each((_, a) => {
|
||||
const el = $(a);
|
||||
const href = el.attr("href");
|
||||
const dataHref = el.attr("data-href");
|
||||
const fileUrl = absUrl(dataHref || href);
|
||||
if (!fileUrl) return;
|
||||
|
||||
const text = el.text().replace(/\s+/g, " ").trim() || null
|
||||
let title = text
|
||||
let downloadCount = 0
|
||||
if(text && text.includes('ดาวน์โหลดแล้ว')){
|
||||
try {
|
||||
const splitList = text.split(' ดาวน์โหลดแล้ว ')
|
||||
title = splitList[0]
|
||||
downloadCount = parseInt(splitList[1].replace('ครั้ง', '').trim())
|
||||
} catch (error) {
|
||||
title = text
|
||||
downloadCount = 0
|
||||
}
|
||||
}
|
||||
|
||||
files.push({
|
||||
text: title,
|
||||
url: fileUrl,
|
||||
downloadCount: downloadCount
|
||||
});
|
||||
});
|
||||
|
||||
// fallback: ลิงก์ไฟล์แบบตรง ๆ
|
||||
$("a[href]").each((_, a) => {
|
||||
const href = $(a).attr("href");
|
||||
const u = absUrl(href);
|
||||
if (!u) return;
|
||||
|
||||
if (/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar)(\?|$)/i.test(u)) {
|
||||
if (!files.some((f) => f.url === u)) {
|
||||
files.push({ text: $(a).text().trim() || null, url: u });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
// ✅ ยิง api /status/1/ เพื่อเอา path จริง
|
||||
async function resolveRealFilePath(fileUrl) {
|
||||
try {
|
||||
// กันกรณีมี / ท้ายอยู่แล้ว
|
||||
const statusUrl = fileUrl.replace(/\/$/, "") + "/status/1/";
|
||||
const res = await axios.get(statusUrl, { timeout: 30000 });
|
||||
return res?.data?.path || null;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// ✅ limit concurrency แบบง่าย (กันยิงหนักเกิน)
|
||||
async function mapLimit(arr, limit, mapper) {
|
||||
const ret = [];
|
||||
let i = 0;
|
||||
|
||||
async function worker() {
|
||||
while (i < arr.length) {
|
||||
const idx = i++;
|
||||
ret[idx] = await mapper(arr[idx], idx);
|
||||
}
|
||||
}
|
||||
|
||||
const workers = Array.from({ length: Math.min(limit, arr.length) }, worker);
|
||||
await Promise.all(workers);
|
||||
return ret;
|
||||
}
|
||||
|
||||
async function scrapeOnePage(menuId, page, saveHtml = false) {
|
||||
const url = buildUrl(menuId, page);
|
||||
const html = curlHtml(url);
|
||||
|
||||
if (saveHtml) {
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `debug-menu-${menuId}-page-${page}.html`),
|
||||
html,
|
||||
"utf8"
|
||||
);
|
||||
}
|
||||
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
// ✅ แปลง rows เป็น array ก่อน
|
||||
const rows = $(".row.data-row").toArray();
|
||||
|
||||
// ✅ ประมวลผลแบบมี limit (เช่น 5 concurrent)
|
||||
const items = (await mapLimit(rows, 5, async (row) => {
|
||||
const el = $(row);
|
||||
const a = el.find("a.listdataconfig_link[href]").first();
|
||||
if (!a.length) return null;
|
||||
|
||||
const title =
|
||||
a.find("label.font-weight").text().replace(/\s+/g, " ").trim() ||
|
||||
a.text().replace(/\s+/g, " ").trim();
|
||||
|
||||
if (!title) return null;
|
||||
|
||||
const detailUrl = absUrl(a.attr("href"));
|
||||
let files = [];
|
||||
let realPathFiles = []
|
||||
|
||||
try {
|
||||
if (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||
for(let i = 0; i < files.length; i++){
|
||||
const file = files[i]
|
||||
let realPath = null;
|
||||
let fileObject = {
|
||||
fileName: file.text,
|
||||
fileUrl: file.url, // ไฟล์จากหน้า detail
|
||||
filePath: "", // ✅ ของจริงจาก api /status/1/
|
||||
downloadCount: file.downloadCount
|
||||
}
|
||||
try {
|
||||
const fileUrl = file?.url ? absUrl(file.url) : null;
|
||||
if (fileUrl) {
|
||||
realPath = await resolveRealFilePath(fileUrl);
|
||||
fileObject.filePath = `https://ladsawai.go.th/public/${realPath}`
|
||||
}
|
||||
} catch (error) {
|
||||
realPath = null;
|
||||
}
|
||||
|
||||
realPathFiles.push(fileObject)
|
||||
}
|
||||
} catch (e) {
|
||||
files = [];
|
||||
}
|
||||
|
||||
let detailHtmlPath = ''
|
||||
if (saveHtml) {
|
||||
try {
|
||||
// Extract id and menu from URL: /public/list/data/detail/id/{id}/menu/{menu}/page/{page}
|
||||
const urlMatch = detailUrl.match(/\/id\/(\d+)\/menu\/(\d+)/);
|
||||
const id = urlMatch ? urlMatch[1] : null;
|
||||
// const menu = urlMatch ? urlMatch[2] : null;
|
||||
|
||||
const detailPageHtml = curlHtml(detailUrl);
|
||||
|
||||
detailHtmlPath = `debug-menu-${menuId}-detail-${id}.html`
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, detailHtmlPath),
|
||||
detailPageHtml,
|
||||
"utf8"
|
||||
);
|
||||
|
||||
} catch (error) {
|
||||
console.error('error :', error)
|
||||
detailHtmlPath = ''
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
title,
|
||||
detailUrl: detailUrl || null,
|
||||
files: realPathFiles,
|
||||
detailPageHtml: detailHtmlPath ?? undefined, // ไฟล์จากหน้า detail
|
||||
sourcePage: page,
|
||||
sourceUrl: url,
|
||||
};
|
||||
}))
|
||||
.filter(Boolean); // ตัด null ออก
|
||||
|
||||
const output = {
|
||||
source: url,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
menuId,
|
||||
page,
|
||||
count: items.length,
|
||||
items,
|
||||
};
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `menu-${menuId}-page-${page}.json`),
|
||||
JSON.stringify(output, null, 2),
|
||||
"utf8"
|
||||
);
|
||||
|
||||
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||
return { $, items };
|
||||
}
|
||||
|
||||
(async function main() {
|
||||
const menuId = 1258;
|
||||
|
||||
const first = await scrapeOnePage(menuId, 1, true);
|
||||
const totalPages = detectTotalPages(first.$);
|
||||
console.log("✅ totalPages =", totalPages);
|
||||
|
||||
const all = [];
|
||||
const seen = new Set();
|
||||
|
||||
function addItems(items) {
|
||||
for (const it of items) {
|
||||
const key = `${it.title}|${it.detailUrl || ""}|${it.filePath || ""}`;
|
||||
if (seen.has(key)) continue;
|
||||
seen.add(key);
|
||||
all.push(it);
|
||||
}
|
||||
}
|
||||
|
||||
addItems(first.items);
|
||||
|
||||
for (let p = 2; p <= totalPages; p++) {
|
||||
const { items } = await scrapeOnePage(menuId, p, false);
|
||||
addItems(items);
|
||||
}
|
||||
|
||||
const merged = {
|
||||
menuId,
|
||||
totalPages,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
totalItems: all.length,
|
||||
items: all,
|
||||
};
|
||||
|
||||
const outAll = path.join(OUT, `menu-${menuId}-all.json`);
|
||||
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||
|
||||
console.log("🎉 Saved all:", outAll);
|
||||
console.log("🎉 Total unique:", all.length);
|
||||
})();
|
||||
268
local-performance-assessment.js
Normal file
268
local-performance-assessment.js
Normal file
@ -0,0 +1,268 @@
|
||||
// หน้าแรก > งานบริการ > การประเมินประสิทธิภาพของ อปท. (LPA)
|
||||
|
||||
const { execSync } = require("child_process");
|
||||
const cheerio = require("cheerio");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const axios = require("axios").default;
|
||||
|
||||
const BASE = "https://ladsawai.go.th";
|
||||
const OUT = path.join(process.cwd(), "การประเมินประสิทธิภาพของ อปท. (LPA)");
|
||||
fs.mkdirSync(OUT, { recursive: true });
|
||||
|
||||
function curlHtml(url) {
|
||||
return execSync(
|
||||
`curl -L -s "${url}" -H "User-Agent: Mozilla/5.0" -H "Accept-Language: th-TH,th;q=0.9"`,
|
||||
{ encoding: "utf8", maxBuffer: 30 * 1024 * 1024 }
|
||||
);
|
||||
}
|
||||
|
||||
function absUrl(href) {
|
||||
if (!href) return null;
|
||||
if (href.startsWith("http")) return href;
|
||||
if (href.startsWith("/")) return BASE + href;
|
||||
return BASE + "/" + href;
|
||||
}
|
||||
|
||||
function buildUrl(menuId, catid, page) {
|
||||
if(catid){
|
||||
return `${BASE}/public/list/data/datacategory/catid/${catid}/menu/${menuId}/page/${page}`;
|
||||
}
|
||||
else{
|
||||
return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||
}
|
||||
}
|
||||
|
||||
function detectTotalPages($) {
|
||||
let maxPage = 1;
|
||||
$("a").each((_, a) => {
|
||||
const t = $(a).text().trim();
|
||||
if (/^\d+$/.test(t)) maxPage = Math.max(maxPage, Number(t));
|
||||
});
|
||||
return maxPage;
|
||||
}
|
||||
|
||||
function extractFileLinksFromDetail(detailUrl) {
|
||||
const html = curlHtml(detailUrl);
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
const files = [];
|
||||
|
||||
$("a.uploadconfig_link").each((_, a) => {
|
||||
const el = $(a);
|
||||
const href = el.attr("href");
|
||||
const dataHref = el.attr("data-href");
|
||||
const fileUrl = absUrl(dataHref || href);
|
||||
if (!fileUrl) return;
|
||||
|
||||
const text = el.text().replace(/\s+/g, " ").trim() || null
|
||||
let title = text
|
||||
let downloadCount = 0
|
||||
if(text && text.includes('ดาวน์โหลดแล้ว')){
|
||||
try {
|
||||
const splitList = text.split(' ดาวน์โหลดแล้ว ')
|
||||
title = splitList[0]
|
||||
downloadCount = parseInt(splitList[1].replace('ครั้ง', '').trim())
|
||||
} catch (error) {
|
||||
title = text
|
||||
downloadCount = 0
|
||||
}
|
||||
}
|
||||
|
||||
files.push({
|
||||
text: title,
|
||||
url: fileUrl,
|
||||
downloadCount: downloadCount
|
||||
});
|
||||
});
|
||||
|
||||
// fallback: ลิงก์ไฟล์แบบตรง ๆ
|
||||
$("a[href]").each((_, a) => {
|
||||
const href = $(a).attr("href");
|
||||
const u = absUrl(href);
|
||||
if (!u) return;
|
||||
|
||||
if (/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar)(\?|$)/i.test(u)) {
|
||||
if (!files.some((f) => f.url === u)) {
|
||||
files.push({ text: $(a).text().trim() || null, url: u });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
// ✅ ยิง api /status/1/ เพื่อเอา path จริง
|
||||
async function resolveRealFilePath(fileUrl) {
|
||||
try {
|
||||
// กันกรณีมี / ท้ายอยู่แล้ว
|
||||
const statusUrl = fileUrl.replace(/\/$/, "") + "/status/1/";
|
||||
const res = await axios.get(statusUrl, { timeout: 30000 });
|
||||
return res?.data?.path || null;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// ✅ limit concurrency แบบง่าย (กันยิงหนักเกิน)
|
||||
async function mapLimit(arr, limit, mapper) {
|
||||
const ret = [];
|
||||
let i = 0;
|
||||
|
||||
async function worker() {
|
||||
while (i < arr.length) {
|
||||
const idx = i++;
|
||||
ret[idx] = await mapper(arr[idx], idx);
|
||||
}
|
||||
}
|
||||
|
||||
const workers = Array.from({ length: Math.min(limit, arr.length) }, worker);
|
||||
await Promise.all(workers);
|
||||
return ret;
|
||||
}
|
||||
|
||||
async function scrapeOnePage(menuId, catid, page, saveHtml = false) {
|
||||
const url = buildUrl(menuId, catid, page);
|
||||
const html = curlHtml(url);
|
||||
|
||||
if (saveHtml) {
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `debug-menu-${menuId}${catid ? `-catid-${catid}` : ''}-page-${page}.html`),
|
||||
html,
|
||||
"utf8"
|
||||
);
|
||||
}
|
||||
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
// ✅ แปลง rows เป็น array ก่อน
|
||||
const rows = $(".row.data-row").toArray();
|
||||
|
||||
// ✅ ประมวลผลแบบมี limit (เช่น 5 concurrent)
|
||||
const items = (await mapLimit(rows, 5, async (row) => {
|
||||
const el = $(row);
|
||||
const a = el.find("a.listdataconfig_link[href]").first();
|
||||
if (!a.length) return null;
|
||||
|
||||
const title =
|
||||
a.find("label.font-weight").text().replace(/\s+/g, " ").trim() ||
|
||||
a.text().replace(/\s+/g, " ").trim();
|
||||
|
||||
if (!title) return null;
|
||||
|
||||
const detailUrl = absUrl(a.attr("href"));
|
||||
let files = [];
|
||||
let realPath = null;
|
||||
|
||||
try {
|
||||
if(catid){
|
||||
//มี category แล้วไปหาเนื้อหาได้เลย
|
||||
if (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||
if (firstFileUrl) {
|
||||
realPath = await resolveRealFilePath(firstFileUrl);
|
||||
}
|
||||
}
|
||||
else{
|
||||
//ไม่มี category เอา category ไปหา list ก่อน
|
||||
try {
|
||||
// Extract id and menu from URL: /public/list/data/detail/catid/{catid}/menu/{menu}/page/{page}
|
||||
const urlMatch = detailUrl.match(/\/catid\/(\d+)\/menu\/(\d+)/);
|
||||
const catid = urlMatch ? urlMatch[1] : null;
|
||||
// const menu = urlMatch ? urlMatch[2] : null;
|
||||
|
||||
if(catid){
|
||||
const cateList = await scrapeOnePage(menuId, catid, 1, saveHtml)
|
||||
|
||||
return {
|
||||
title,
|
||||
detailUrl: detailUrl || null,
|
||||
items: cateList.items,
|
||||
sourcePage: page,
|
||||
sourceUrl: url,
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('error :', error)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
files = [];
|
||||
realPath = null;
|
||||
}
|
||||
|
||||
return {
|
||||
title,
|
||||
detailUrl: detailUrl || null,
|
||||
fileName: files?.[0]?.text ? files[0].text : null,
|
||||
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||
downloadCount: files?.[0]?.downloadCount ? files[0].downloadCount : null,
|
||||
sourcePage: page,
|
||||
sourceUrl: url,
|
||||
};
|
||||
}))
|
||||
.filter(Boolean); // ตัด null ออก
|
||||
|
||||
const output = {
|
||||
source: url,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
menuId,
|
||||
catid,
|
||||
page,
|
||||
count: items.length,
|
||||
items,
|
||||
};
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(OUT, `menu-${menuId}${catid ? `-catid-${catid}` : ''}-page-${page}.json`),
|
||||
JSON.stringify(output, null, 2),
|
||||
"utf8"
|
||||
);
|
||||
|
||||
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||
return { $, items: catid ? output : items };
|
||||
}
|
||||
|
||||
(async function main() {
|
||||
const menuId = 1265;
|
||||
// const catid = 86;
|
||||
|
||||
const first = await scrapeOnePage(menuId, undefined, 1, true);
|
||||
const totalPages = detectTotalPages(first.$);
|
||||
console.log("✅ totalPages =", totalPages);
|
||||
|
||||
const all = [];
|
||||
const seen = new Set();
|
||||
|
||||
function addItems(items) {
|
||||
for (const it of items) {
|
||||
const key = `${it.title}|${it.detailUrl || ""}|${it.filePath || ""}`;
|
||||
if (seen.has(key)) continue;
|
||||
seen.add(key);
|
||||
all.push(it);
|
||||
}
|
||||
}
|
||||
|
||||
addItems(first.items);
|
||||
|
||||
for (let p = 2; p <= totalPages; p++) {
|
||||
const { items } = await scrapeOnePage(menuId, undefined, p, false);
|
||||
addItems(items);
|
||||
}
|
||||
|
||||
const merged = {
|
||||
menuId,
|
||||
// catid,
|
||||
totalPages,
|
||||
scrapedAt: new Date().toISOString(),
|
||||
totalItems: all.length,
|
||||
items: all,
|
||||
};
|
||||
|
||||
const outAll = path.join(OUT, `menu-${menuId}-all.json`);
|
||||
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||
|
||||
console.log("🎉 Saved all:", outAll);
|
||||
console.log("🎉 Total unique:", all.length);
|
||||
})();
|
||||
@ -1,43 +0,0 @@
|
||||
{
|
||||
"breadcrumb": "หน้าแรก > งานบริการ > ประมวลจริยธรรม",
|
||||
"menuUrl": "https://ladsawai.go.th/public/list/data/index/menu/1287",
|
||||
"scrapedAt": "2026-01-13T03:07:30.792Z",
|
||||
"totalItems": 5,
|
||||
"items": [
|
||||
{
|
||||
"title": "การจัดประชุมมอบนโยบายและชี้แจงแนวทางการปฏิบัติราชการให้แก่พนักงานเทศบาลและพนักงานจ้าง เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2568",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3790/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_3790_2.pdf",
|
||||
"sourcePage": 1,
|
||||
"downloadCount": 0
|
||||
},
|
||||
{
|
||||
"title": "ประมวลจริยธรรมผู้บริหารท้องถิ่นและประมวลจริยธรรมสมาชิกสภาท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3790/seq/2",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_3790_1.pdf",
|
||||
"sourcePage": 1,
|
||||
"downloadCount": 11
|
||||
},
|
||||
{
|
||||
"title": "ประมวลจริยธรรมข้าราชการ พนักงานจ้าง ปี 67-69",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9201/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_9201_1.pdf",
|
||||
"sourcePage": 1,
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"title": "ข้อกำหนดจริยธรรมของข้าราชการ พนักงานจ้าง",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9202/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_9202_1.pdf",
|
||||
"sourcePage": 1,
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"title": "เจตนารมณ์ร่วมกันของหน่วยงาน",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9203/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_9203_1.pdf",
|
||||
"sourcePage": 1,
|
||||
"downloadCount": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
1974
การประเมินประสิทธิภาพของ อปท. (LPA)/debug-menu-1265-page-1.html
Normal file
1974
การประเมินประสิทธิภาพของ อปท. (LPA)/debug-menu-1265-page-1.html
Normal file
File diff suppressed because one or more lines are too long
94
การประเมินประสิทธิภาพของ อปท. (LPA)/menu-1265-all.json
Normal file
94
การประเมินประสิทธิภาพของ อปท. (LPA)/menu-1265-all.json
Normal file
@ -0,0 +1,94 @@
|
||||
{
|
||||
"menuId": 1265,
|
||||
"totalPages": 1,
|
||||
"scrapedAt": "2026-01-13T10:31:06.871Z",
|
||||
"totalItems": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA)",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1",
|
||||
"scrapedAt": "2026-01-13T10:31:06.855Z",
|
||||
"menuId": 1265,
|
||||
"catid": "86",
|
||||
"page": 1,
|
||||
"count": 7,
|
||||
"items": [
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2568",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3751/menu/1265/page/1/catid/86",
|
||||
"fileName": "lpa68",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9087/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3751/files_9087_1.pdf",
|
||||
"downloadCount": 5,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2561",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3655/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2561",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8868/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3655/files_8868_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2563",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3656/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2563",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8870/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3656/files_8870_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2564",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3657/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2564",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8872/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3657/files_8872_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3658/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2565",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8874/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3658/files_8874_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2566",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3659/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2566",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8876/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3659/files_8876_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2567",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3660/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2567",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8878/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3660/files_8878_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1265/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,80 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1",
|
||||
"scrapedAt": "2026-01-13T10:31:06.855Z",
|
||||
"menuId": 1265,
|
||||
"catid": "86",
|
||||
"page": 1,
|
||||
"count": 7,
|
||||
"items": [
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2568",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3751/menu/1265/page/1/catid/86",
|
||||
"fileName": "lpa68",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9087/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3751/files_9087_1.pdf",
|
||||
"downloadCount": 5,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2561",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3655/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2561",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8868/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3655/files_8868_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2563",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3656/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2563",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8870/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3656/files_8870_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2564",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3657/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2564",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8872/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3657/files_8872_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3658/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2565",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8874/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3658/files_8874_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2566",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3659/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2566",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8876/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3659/files_8876_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2567",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3660/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2567",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8878/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3660/files_8878_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
95
การประเมินประสิทธิภาพของ อปท. (LPA)/menu-1265-page-1.json
Normal file
95
การประเมินประสิทธิภาพของ อปท. (LPA)/menu-1265-page-1.json
Normal file
@ -0,0 +1,95 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/index/menu/1265/page/1",
|
||||
"scrapedAt": "2026-01-13T10:31:06.867Z",
|
||||
"menuId": 1265,
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA)",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1",
|
||||
"scrapedAt": "2026-01-13T10:31:06.855Z",
|
||||
"menuId": 1265,
|
||||
"catid": "86",
|
||||
"page": 1,
|
||||
"count": 7,
|
||||
"items": [
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2568",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3751/menu/1265/page/1/catid/86",
|
||||
"fileName": "lpa68",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9087/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3751/files_9087_1.pdf",
|
||||
"downloadCount": 5,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2561",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3655/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2561",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8868/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3655/files_8868_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2563",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3656/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2563",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8870/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3656/files_8870_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2564",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3657/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2564",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8872/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3657/files_8872_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3658/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2565",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8874/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3658/files_8874_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2566",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3659/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2566",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8876/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3659/files_8876_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประเมินประสิทธิภาพของ อปท. (LPA) 2567",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3660/menu/1265/page/1/catid/86",
|
||||
"fileName": "การประเมินประสิทธิภาพของ อปท. (LPA) 2567",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8878/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3660/files_8878_1.pdf",
|
||||
"downloadCount": 4,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/86/menu/1265/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1265/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
2572
ข้อมูลวารสาร/debug-menu-1258-detail-1450.html
Normal file
2572
ข้อมูลวารสาร/debug-menu-1258-detail-1450.html
Normal file
File diff suppressed because one or more lines are too long
2496
ข้อมูลวารสาร/debug-menu-1258-detail-1665.html
Normal file
2496
ข้อมูลวารสาร/debug-menu-1258-detail-1665.html
Normal file
File diff suppressed because one or more lines are too long
2443
ข้อมูลวารสาร/debug-menu-1258-detail-1987.html
Normal file
2443
ข้อมูลวารสาร/debug-menu-1258-detail-1987.html
Normal file
File diff suppressed because one or more lines are too long
2443
ข้อมูลวารสาร/debug-menu-1258-detail-2032.html
Normal file
2443
ข้อมูลวารสาร/debug-menu-1258-detail-2032.html
Normal file
File diff suppressed because one or more lines are too long
2496
ข้อมูลวารสาร/debug-menu-1258-detail-3037.html
Normal file
2496
ข้อมูลวารสาร/debug-menu-1258-detail-3037.html
Normal file
File diff suppressed because one or more lines are too long
2220
ข้อมูลวารสาร/debug-menu-1258-page-1.html
Normal file
2220
ข้อมูลวารสาร/debug-menu-1258-page-1.html
Normal file
File diff suppressed because one or more lines are too long
185
ข้อมูลวารสาร/menu-1258-all.json
Normal file
185
ข้อมูลวารสาร/menu-1258-all.json
Normal file
@ -0,0 +1,185 @@
|
||||
{
|
||||
"menuId": 1258,
|
||||
"totalPages": 1,
|
||||
"scrapedAt": "2026-01-13T08:27:57.736Z",
|
||||
"totalItems": 5,
|
||||
"items": [
|
||||
{
|
||||
"title": "จดหมายข่าวเทศบาลเมืองลาดสวาย ปีที่ 2 ฉบับที่ 1 ประจำเดือนตุลาคม 2566- มกราคม 2567",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3037/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "หน้า 1.docx",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7380/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3037/files_7380_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7381/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3037/files_7381_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 3",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7382/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3037/files_7382_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 4.docx",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7383/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3037/files_7383_1.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-3037.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
},
|
||||
{
|
||||
"title": "จดหมายข่าว ลาดสวายนิวส์ ฉบับที่ 4 ประจำเดือน ตุลาคม-ธันวาคม 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/2032/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "หน้า 1",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4918/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2032/files_4918_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4918/seq/2",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2032/files_4918_2.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 3.docx",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4918/seq/3",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2032/files_4918_3.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 4.docx",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4918/seq/4",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2032/files_4918_4.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-2032.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
},
|
||||
{
|
||||
"title": "จดหมายข่าว ลาดสวายนิวส์ ฉบับที่ 3 ประจำเดือน กรกฎาคม-กันยายน 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1987/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "หน้า 1",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4812/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1987/files_4812_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4812/seq/2",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1987/files_4812_2.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 3",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4812/seq/3",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1987/files_4812_3.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 4",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4812/seq/4",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1987/files_4812_4.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-1987.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
},
|
||||
{
|
||||
"title": "จดหมายข่าว ลาดสวายนิวส์ ฉบับที่ 2 ประจำเดือน เมษายน-มิถุนายน 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1665/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "1",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4032/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1665/files_4032_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4036/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1665/files_4036_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "3",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4037/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1665/files_4037_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "4",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4038/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1665/files_4038_1.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-1665.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
},
|
||||
{
|
||||
"title": "จดหมายข่าว ลาดสวายนิวส์ ฉบับที่ 1 ประจำเดือน มกราคม-มีนาคม 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1450/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "หน้า 1",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3570/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3570_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3571/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3571_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 3",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3572/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3572_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 4",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3573/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3573_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 5",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3574/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3574_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 6",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3575/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3575_1.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-1450.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
186
ข้อมูลวารสาร/menu-1258-page-1.json
Normal file
186
ข้อมูลวารสาร/menu-1258-page-1.json
Normal file
@ -0,0 +1,186 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1",
|
||||
"scrapedAt": "2026-01-13T08:27:57.724Z",
|
||||
"menuId": 1258,
|
||||
"page": 1,
|
||||
"count": 5,
|
||||
"items": [
|
||||
{
|
||||
"title": "จดหมายข่าวเทศบาลเมืองลาดสวาย ปีที่ 2 ฉบับที่ 1 ประจำเดือนตุลาคม 2566- มกราคม 2567",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3037/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "หน้า 1.docx",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7380/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3037/files_7380_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7381/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3037/files_7381_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 3",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7382/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3037/files_7382_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 4.docx",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7383/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3037/files_7383_1.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-3037.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
},
|
||||
{
|
||||
"title": "จดหมายข่าว ลาดสวายนิวส์ ฉบับที่ 4 ประจำเดือน ตุลาคม-ธันวาคม 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/2032/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "หน้า 1",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4918/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2032/files_4918_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4918/seq/2",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2032/files_4918_2.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 3.docx",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4918/seq/3",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2032/files_4918_3.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 4.docx",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4918/seq/4",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2032/files_4918_4.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-2032.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
},
|
||||
{
|
||||
"title": "จดหมายข่าว ลาดสวายนิวส์ ฉบับที่ 3 ประจำเดือน กรกฎาคม-กันยายน 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1987/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "หน้า 1",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4812/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1987/files_4812_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4812/seq/2",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1987/files_4812_2.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 3",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4812/seq/3",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1987/files_4812_3.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 4",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4812/seq/4",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1987/files_4812_4.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-1987.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
},
|
||||
{
|
||||
"title": "จดหมายข่าว ลาดสวายนิวส์ ฉบับที่ 2 ประจำเดือน เมษายน-มิถุนายน 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1665/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "1",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4032/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1665/files_4032_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4036/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1665/files_4036_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "3",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4037/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1665/files_4037_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "4",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4038/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1665/files_4038_1.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-1665.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
},
|
||||
{
|
||||
"title": "จดหมายข่าว ลาดสวายนิวส์ ฉบับที่ 1 ประจำเดือน มกราคม-มีนาคม 2565",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1450/menu/1258/page/1",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "หน้า 1",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3570/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3570_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 2",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3571/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3571_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 3",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3572/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3572_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 4",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3573/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3573_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 5",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3574/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3574_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "หน้า 6",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3575/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1450/files_3575_1.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
],
|
||||
"detailPageHtml": "debug-menu-1258-detail-1450.html",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1258/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
2187
ประมวลจริยธรรม/debug-menu-1287-page-1.html
Normal file
2187
ประมวลจริยธรรม/debug-menu-1287-page-1.html
Normal file
File diff suppressed because one or more lines are too long
38
ประมวลจริยธรรม/menu-1287-all.json
Normal file
38
ประมวลจริยธรรม/menu-1287-all.json
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
"menuId": 1287,
|
||||
"totalPages": 1,
|
||||
"scrapedAt": "2026-01-13T09:13:16.881Z",
|
||||
"totalItems": 5,
|
||||
"items": [
|
||||
{
|
||||
"fileName": "การจัดประชุมมอบนโยบายและชี้แจงแนวทางการปฏิบัติราชการให้แก่พนักงานเทศบาลและพนักงานจ้าง เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2568",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3790/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_3790_2.pdf",
|
||||
"downloadCount": 2
|
||||
},
|
||||
{
|
||||
"fileName": "ประมวลจริยธรรมผู้บริหารท้องถิ่นและประมวลจริยธรรมสมาชิกสภาท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3790/seq/2",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_3790_1.pdf",
|
||||
"downloadCount": 14
|
||||
},
|
||||
{
|
||||
"fileName": "ประมวลจริยธรรมข้าราชการ พนักงานจ้าง ปี 67-69",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9201/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_9201_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "ข้อกำหนดจริยธรรมของข้าราชการ พนักงานจ้าง",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9202/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_9202_1.pdf",
|
||||
"downloadCount": 2
|
||||
},
|
||||
{
|
||||
"fileName": "เจตนารมณืร่วมกันของหน่วยงาน",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9203/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_9203_1.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
39
ประมวลจริยธรรม/menu-1287-page-1.json
Normal file
39
ประมวลจริยธรรม/menu-1287-page-1.json
Normal file
@ -0,0 +1,39 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/index/menu/1287/page/1",
|
||||
"scrapedAt": "2026-01-13T09:13:16.863Z",
|
||||
"menuId": 1287,
|
||||
"page": 1,
|
||||
"count": 5,
|
||||
"items": [
|
||||
{
|
||||
"fileName": "การจัดประชุมมอบนโยบายและชี้แจงแนวทางการปฏิบัติราชการให้แก่พนักงานเทศบาลและพนักงานจ้าง เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2568",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3790/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_3790_2.pdf",
|
||||
"downloadCount": 2
|
||||
},
|
||||
{
|
||||
"fileName": "ประมวลจริยธรรมผู้บริหารท้องถิ่นและประมวลจริยธรรมสมาชิกสภาท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3790/seq/2",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_3790_1.pdf",
|
||||
"downloadCount": 14
|
||||
},
|
||||
{
|
||||
"fileName": "ประมวลจริยธรรมข้าราชการ พนักงานจ้าง ปี 67-69",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9201/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_9201_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "ข้อกำหนดจริยธรรมของข้าราชการ พนักงานจ้าง",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9202/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_9202_1.pdf",
|
||||
"downloadCount": 2
|
||||
},
|
||||
{
|
||||
"fileName": "เจตนารมณืร่วมกันของหน่วยงาน",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/9203/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1550/files_9203_1.pdf",
|
||||
"downloadCount": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
2169
พรบ. อำนวยความสะดวก 2558/debug-menu-1268-catid-93-page-1.html
Normal file
2169
พรบ. อำนวยความสะดวก 2558/debug-menu-1268-catid-93-page-1.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2169
พรบ. อำนวยความสะดวก 2558/debug-menu-1268-catid-94-page-1.html
Normal file
2169
พรบ. อำนวยความสะดวก 2558/debug-menu-1268-catid-94-page-1.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2169
พรบ. อำนวยความสะดวก 2558/debug-menu-1268-catid-95-page-1.html
Normal file
2169
พรบ. อำนวยความสะดวก 2558/debug-menu-1268-catid-95-page-1.html
Normal file
File diff suppressed because one or more lines are too long
1992
พรบ. อำนวยความสะดวก 2558/debug-menu-1268-page-1.html
Normal file
1992
พรบ. อำนวยความสะดวก 2558/debug-menu-1268-page-1.html
Normal file
File diff suppressed because one or more lines are too long
134
พรบ. อำนวยความสะดวก 2558/menu-1268-all.json
Normal file
134
พรบ. อำนวยความสะดวก 2558/menu-1268-all.json
Normal file
@ -0,0 +1,134 @@
|
||||
{
|
||||
"menuId": 1268,
|
||||
"totalPages": 1,
|
||||
"scrapedAt": "2026-01-13T10:33:58.151Z",
|
||||
"totalItems": 3,
|
||||
"items": [
|
||||
{
|
||||
"title": "พรบ.อำนวยความสะดวก 2558",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.149Z",
|
||||
"menuId": 1268,
|
||||
"catid": "94",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "พรบ.อำนวยความสะดวก 2558",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1488/menu/1268/page/1/catid/94",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.148Z",
|
||||
"menuId": 1268,
|
||||
"catid": "94",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "พรบ.อำนวยความสะดวก 2558",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1488/menu/1268/page/1/catid/94",
|
||||
"fileName": "พรบ.อำนวยความสะดวก พ.ศ.2558",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3648/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1488/files_3648_1.pdf",
|
||||
"downloadCount": 7,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1268/page/1"
|
||||
},
|
||||
{
|
||||
"title": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.073Z",
|
||||
"menuId": 1268,
|
||||
"catid": "93",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1487/menu/1268/page/1/catid/93",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.062Z",
|
||||
"menuId": 1268,
|
||||
"catid": "93",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1487/menu/1268/page/1/catid/93",
|
||||
"fileName": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3646/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1487/files_3646_1.pdf",
|
||||
"downloadCount": 7,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1268/page/1"
|
||||
},
|
||||
{
|
||||
"title": "คู่มือสำหรับประชาชนเทศบาลเมืองลาดสวาย",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.130Z",
|
||||
"menuId": 1268,
|
||||
"catid": "95",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือสำหรับประชาชนเทศบาลเมืองลาดสวาย",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1489/menu/1268/page/1/catid/95",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.130Z",
|
||||
"menuId": 1268,
|
||||
"catid": "95",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือสำหรับประชาชนเทศบาลเมืองลาดสวาย",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1489/menu/1268/page/1/catid/95",
|
||||
"fileName": "คู่มือสำหรับประชาชน ทมลา",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3650/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1489/files_3650_1.pdf",
|
||||
"downloadCount": 7,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
36
พรบ. อำนวยความสะดวก 2558/menu-1268-catid-93-page-1.json
Normal file
36
พรบ. อำนวยความสะดวก 2558/menu-1268-catid-93-page-1.json
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.073Z",
|
||||
"menuId": 1268,
|
||||
"catid": "93",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1487/menu/1268/page/1/catid/93",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.062Z",
|
||||
"menuId": 1268,
|
||||
"catid": "93",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1487/menu/1268/page/1/catid/93",
|
||||
"fileName": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3646/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1487/files_3646_1.pdf",
|
||||
"downloadCount": 7,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
36
พรบ. อำนวยความสะดวก 2558/menu-1268-catid-94-page-1.json
Normal file
36
พรบ. อำนวยความสะดวก 2558/menu-1268-catid-94-page-1.json
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.149Z",
|
||||
"menuId": 1268,
|
||||
"catid": "94",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "พรบ.อำนวยความสะดวก 2558",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1488/menu/1268/page/1/catid/94",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.148Z",
|
||||
"menuId": 1268,
|
||||
"catid": "94",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "พรบ.อำนวยความสะดวก 2558",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1488/menu/1268/page/1/catid/94",
|
||||
"fileName": "พรบ.อำนวยความสะดวก พ.ศ.2558",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3648/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1488/files_3648_1.pdf",
|
||||
"downloadCount": 7,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
36
พรบ. อำนวยความสะดวก 2558/menu-1268-catid-95-page-1.json
Normal file
36
พรบ. อำนวยความสะดวก 2558/menu-1268-catid-95-page-1.json
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.130Z",
|
||||
"menuId": 1268,
|
||||
"catid": "95",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือสำหรับประชาชนเทศบาลเมืองลาดสวาย",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1489/menu/1268/page/1/catid/95",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.130Z",
|
||||
"menuId": 1268,
|
||||
"catid": "95",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือสำหรับประชาชนเทศบาลเมืองลาดสวาย",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1489/menu/1268/page/1/catid/95",
|
||||
"fileName": "คู่มือสำหรับประชาชน ทมลา",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3650/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1489/files_3650_1.pdf",
|
||||
"downloadCount": 7,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
135
พรบ. อำนวยความสะดวก 2558/menu-1268-page-1.json
Normal file
135
พรบ. อำนวยความสะดวก 2558/menu-1268-page-1.json
Normal file
@ -0,0 +1,135 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/index/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.149Z",
|
||||
"menuId": 1268,
|
||||
"page": 1,
|
||||
"count": 3,
|
||||
"items": [
|
||||
{
|
||||
"title": "พรบ.อำนวยความสะดวก 2558",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.149Z",
|
||||
"menuId": 1268,
|
||||
"catid": "94",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "พรบ.อำนวยความสะดวก 2558",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1488/menu/1268/page/1/catid/94",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.148Z",
|
||||
"menuId": 1268,
|
||||
"catid": "94",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "พรบ.อำนวยความสะดวก 2558",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1488/menu/1268/page/1/catid/94",
|
||||
"fileName": "พรบ.อำนวยความสะดวก พ.ศ.2558",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3648/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1488/files_3648_1.pdf",
|
||||
"downloadCount": 7,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/94/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1268/page/1"
|
||||
},
|
||||
{
|
||||
"title": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.073Z",
|
||||
"menuId": 1268,
|
||||
"catid": "93",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1487/menu/1268/page/1/catid/93",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.062Z",
|
||||
"menuId": 1268,
|
||||
"catid": "93",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1487/menu/1268/page/1/catid/93",
|
||||
"fileName": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3646/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1487/files_3646_1.pdf",
|
||||
"downloadCount": 7,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/93/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1268/page/1"
|
||||
},
|
||||
{
|
||||
"title": "คู่มือสำหรับประชาชนเทศบาลเมืองลาดสวาย",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.130Z",
|
||||
"menuId": 1268,
|
||||
"catid": "95",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือสำหรับประชาชนเทศบาลเมืองลาดสวาย",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1489/menu/1268/page/1/catid/95",
|
||||
"items": {
|
||||
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1",
|
||||
"scrapedAt": "2026-01-13T10:33:58.130Z",
|
||||
"menuId": 1268,
|
||||
"catid": "95",
|
||||
"page": 1,
|
||||
"count": 1,
|
||||
"items": [
|
||||
{
|
||||
"title": "คู่มือสำหรับประชาชนเทศบาลเมืองลาดสวาย",
|
||||
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1489/menu/1268/page/1/catid/95",
|
||||
"fileName": "คู่มือสำหรับประชาชน ทมลา",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3650/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1489/files_3650_1.pdf",
|
||||
"downloadCount": 7,
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/95/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1268/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
119
รางวัลแห่งความภูมิใจ/list-menu-1402-all.json
Normal file
119
รางวัลแห่งความภูมิใจ/list-menu-1402-all.json
Normal file
@ -0,0 +1,119 @@
|
||||
{
|
||||
"menuId": 1402,
|
||||
"totalPages": 1,
|
||||
"scrapedAt": "2026-01-13T07:55:32.280Z",
|
||||
"totalItems": 6,
|
||||
"items": [
|
||||
{
|
||||
"title": "รางวัล ITA AWARDS 2023 รางวัลพัฒนาการสูงสุด ระดับประเภทเทศบาลเมือง",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3225/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7834_1.jpg?174",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7836_1.jpg?249",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7837_1.jpg?956",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7838_1.jpg?497",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7840_1.jpg?509",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7841_1.jpg?775",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7842_1.jpg?718",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7843_1.jpg?805"
|
||||
],
|
||||
"content": "วันที่ 3 พฤศจิกายน 2566 เวลา 9:00 น นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เข้ารับมอบรางวัลการประเมินคุณธรรมและความโปร่งใสในการดำเนินงานของหน่วยงานภาครัฐ ประจำปีงบประมาณ พ.ศ.2566 (ITA Awards 2023) จากนายพีระพันธ์ุ สาลีรัฐวิภาค รองนายกรัฐมนตรีและรัฐมนตรีว่าการกระทรวงพลังงาน ซึ่งเทศบาลเมืองลาดสวายได้รับรางวัล ประเภทที่ 3 รางวัลหน่วยงานที่มีพัฒนาการสูงสุด ประเภทกลุ่มเทศบาลเมือง 96.29 คะแนน ณ ห้องสีฟ้า ตึกสันติไมตรี ทำเนียบรัฐบาล กรุงเทพมหานคร พร้อมหัวหน้าส่วนราชการเทศบาลเมืองลาดสวายร่วมแสดงความยินดี",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_topic_3225.jpg?343"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_topic_3225_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "รับประกาศนียบัตรในงาน \"ร้อยดวงใจ ร่วมใจลดโลกร้อน\" ประจำปี 2563",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1034/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_2619_1.jpg?13",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_2619_2.jpg?641",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_2619_3.jpg?288"
|
||||
],
|
||||
"content": "(16 ก.ย.63) นายสุเทพ ด้วงเงิน ปลัดเทศบาล ปฏิบัติหน้าที่ นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยคณะ เข้าร่วมพิธีขอบคุณและรับประกาศนียบัตรในงาน \"ร้อยดวงใจ ร่วมใจลดโลกร้อน\" ประจำปี 2563 จัดโดย องค์การบริหารจัดการก๊าชเรือนกระจก (องค์การมหาชน) ณ ห้องเมย์แฟร์แกรนด์บอลรูม ชั้น 11 โรงแรมเดอะเบอร์เคลีย์ ประตูน้ำ กรุงเทพ",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_topic_1034.jpg?718"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_topic_1034_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "เกียรติบัตรงานการแพทย์ฉุกเฉิน ประจำปี 2563",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1035/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1035/pics_2622_1.jpg?14",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1035/pics_2622_2.jpg?67"
|
||||
],
|
||||
"content": "วันที่ 15 กันยายน 2563\nนายสุเทพ ด้วงเงิน ปลัดเทศบาล ปฏิบัติหน้าที่ นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยคณะ เข้าร่วมประชุมวิชาการและรับเกียรติบัตรงานการแพทย์ฉุกเฉิน ณ โรงแรมเอเซียร์พอร์ท ปทุมธานี",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1035/pics_topic_1035.jpg?823"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1035/pics_topic_1035_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "รางวัลการแพทย์ฉุกเฉินดีเด่นระดับชาติประจำปี 2562",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1037/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_1.jpg?5",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_2.jpg?938",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_3.jpg?675",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_4.jpg?187",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_5.jpg?147"
|
||||
],
|
||||
"content": "เทศบาลเมืองลาดสวาย ได้รับรางวัลการแพทย์ฉุกเฉินดีเด่นระดับชาติประจำปี 2562 ในวันที่ 6 กันยายน พ.ศ. 2562 จากสถาบันการแพทย์ฉุกเฉินแห่งชาติ ณ องค์การบริหารส่วนจังหวัดลำพูน อำเภอเมืองลำพูน จังหวัดลำพูน",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_topic_1037.jpg?585"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_topic_1037_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประกวดผลงานนวัตกรรมการจัดการขยะมูลฝอยที่ต้นทางปี พ.ศ. 2561",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1038/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_1.jpg?896",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_2.jpg?905",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_3.jpg?609",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_4.jpg?246",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_5.jpg?747",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_6.jpg?117",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_7.jpg?848"
|
||||
],
|
||||
"content": "กรมส่งเสริมคุณภาพสิ่งแวดล้อม กระทรวงธรรมชาติและสิ่งแวดล้อม ได้มอบเกียรติบัตรให้แก่ นางสาววาสนา เสาวรักษ์ และนายอนุวัฒน์ เพียรทอง ในชื่อผลงาน \"สามล้อรักษ์โลก\" เทศบาลเมืองลาดสวาย จังหวัดปทุมธานี ได้ผ่านการคัดเลือกผลงาน การประกวดผลงานนวัตกรรมการจัดการขยะมูลฝอยที่ต้นทางประจำปี 2561 (รอบคัดเลือก)",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_topic_1038.jpg?855"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_topic_1038_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "โครงการสนับสนุนกิจกรรมลดก๊าซเรือนกระจก",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1036/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1036/pics_2625_1.jpg?467",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1036/pics_2625_2.jpg?304"
|
||||
],
|
||||
"content": "นายสุเทพ ด้วงเงิน ปลัดเทศบาล ปฏิบัติหน้าที่นายกเทศมนตรีเมืองลาดสวาย รับมอบใบประกาศเกียรติคุณ จากเลขานุการผู้ช่วยรัฐมนตรีประจำกระทรวงทรัพยากรธรรมชาติและสิ่งแวดล้อม ในวันที่ 19 กันยายน 2562 ณ โรงแรมเดอะเบอร์เคลีย์ ประตูน้ำ กรุงเทพมหานคร",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1036/pics_topic_1036.jpg?266"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1036/pics_topic_1036_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
120
รางวัลแห่งความภูมิใจ/list-menu-1402-page-1.json
Normal file
120
รางวัลแห่งความภูมิใจ/list-menu-1402-page-1.json
Normal file
@ -0,0 +1,120 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1",
|
||||
"scrapedAt": "2026-01-13T07:55:32.268Z",
|
||||
"menuId": 1402,
|
||||
"page": 1,
|
||||
"count": 6,
|
||||
"items": [
|
||||
{
|
||||
"title": "รางวัล ITA AWARDS 2023 รางวัลพัฒนาการสูงสุด ระดับประเภทเทศบาลเมือง",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3225/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7834_1.jpg?174",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7836_1.jpg?249",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7837_1.jpg?956",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7838_1.jpg?497",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7840_1.jpg?509",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7841_1.jpg?775",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7842_1.jpg?718",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_7843_1.jpg?805"
|
||||
],
|
||||
"content": "วันที่ 3 พฤศจิกายน 2566 เวลา 9:00 น นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เข้ารับมอบรางวัลการประเมินคุณธรรมและความโปร่งใสในการดำเนินงานของหน่วยงานภาครัฐ ประจำปีงบประมาณ พ.ศ.2566 (ITA Awards 2023) จากนายพีระพันธ์ุ สาลีรัฐวิภาค รองนายกรัฐมนตรีและรัฐมนตรีว่าการกระทรวงพลังงาน ซึ่งเทศบาลเมืองลาดสวายได้รับรางวัล ประเภทที่ 3 รางวัลหน่วยงานที่มีพัฒนาการสูงสุด ประเภทกลุ่มเทศบาลเมือง 96.29 คะแนน ณ ห้องสีฟ้า ตึกสันติไมตรี ทำเนียบรัฐบาล กรุงเทพมหานคร พร้อมหัวหน้าส่วนราชการเทศบาลเมืองลาดสวายร่วมแสดงความยินดี",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_topic_3225.jpg?343"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3225/pics_topic_3225_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "รับประกาศนียบัตรในงาน \"ร้อยดวงใจ ร่วมใจลดโลกร้อน\" ประจำปี 2563",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1034/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_2619_1.jpg?13",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_2619_2.jpg?641",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_2619_3.jpg?288"
|
||||
],
|
||||
"content": "(16 ก.ย.63) นายสุเทพ ด้วงเงิน ปลัดเทศบาล ปฏิบัติหน้าที่ นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยคณะ เข้าร่วมพิธีขอบคุณและรับประกาศนียบัตรในงาน \"ร้อยดวงใจ ร่วมใจลดโลกร้อน\" ประจำปี 2563 จัดโดย องค์การบริหารจัดการก๊าชเรือนกระจก (องค์การมหาชน) ณ ห้องเมย์แฟร์แกรนด์บอลรูม ชั้น 11 โรงแรมเดอะเบอร์เคลีย์ ประตูน้ำ กรุงเทพ",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_topic_1034.jpg?718"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1034/pics_topic_1034_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "เกียรติบัตรงานการแพทย์ฉุกเฉิน ประจำปี 2563",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1035/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1035/pics_2622_1.jpg?14",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1035/pics_2622_2.jpg?67"
|
||||
],
|
||||
"content": "วันที่ 15 กันยายน 2563\nนายสุเทพ ด้วงเงิน ปลัดเทศบาล ปฏิบัติหน้าที่ นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยคณะ เข้าร่วมประชุมวิชาการและรับเกียรติบัตรงานการแพทย์ฉุกเฉิน ณ โรงแรมเอเซียร์พอร์ท ปทุมธานี",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1035/pics_topic_1035.jpg?823"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1035/pics_topic_1035_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "รางวัลการแพทย์ฉุกเฉินดีเด่นระดับชาติประจำปี 2562",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1037/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_1.jpg?5",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_2.jpg?938",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_3.jpg?675",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_4.jpg?187",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_2628_5.jpg?147"
|
||||
],
|
||||
"content": "เทศบาลเมืองลาดสวาย ได้รับรางวัลการแพทย์ฉุกเฉินดีเด่นระดับชาติประจำปี 2562 ในวันที่ 6 กันยายน พ.ศ. 2562 จากสถาบันการแพทย์ฉุกเฉินแห่งชาติ ณ องค์การบริหารส่วนจังหวัดลำพูน อำเภอเมืองลำพูน จังหวัดลำพูน",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_topic_1037.jpg?585"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1037/pics_topic_1037_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "การประกวดผลงานนวัตกรรมการจัดการขยะมูลฝอยที่ต้นทางปี พ.ศ. 2561",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1038/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_1.jpg?896",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_2.jpg?905",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_3.jpg?609",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_4.jpg?246",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_5.jpg?747",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_6.jpg?117",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_2631_7.jpg?848"
|
||||
],
|
||||
"content": "กรมส่งเสริมคุณภาพสิ่งแวดล้อม กระทรวงธรรมชาติและสิ่งแวดล้อม ได้มอบเกียรติบัตรให้แก่ นางสาววาสนา เสาวรักษ์ และนายอนุวัฒน์ เพียรทอง ในชื่อผลงาน \"สามล้อรักษ์โลก\" เทศบาลเมืองลาดสวาย จังหวัดปทุมธานี ได้ผ่านการคัดเลือกผลงาน การประกวดผลงานนวัตกรรมการจัดการขยะมูลฝอยที่ต้นทางประจำปี 2561 (รอบคัดเลือก)",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_topic_1038.jpg?855"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1038/pics_topic_1038_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
},
|
||||
{
|
||||
"title": "โครงการสนับสนุนกิจกรรมลดก๊าซเรือนกระจก",
|
||||
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/1036/menu/1402/page/1",
|
||||
"detail": {
|
||||
"img": [
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1036/pics_2625_1.jpg?467",
|
||||
"https://ladsawai.go.th/public/list_upload/backend/list_1036/pics_2625_2.jpg?304"
|
||||
],
|
||||
"content": "นายสุเทพ ด้วงเงิน ปลัดเทศบาล ปฏิบัติหน้าที่นายกเทศมนตรีเมืองลาดสวาย รับมอบใบประกาศเกียรติคุณ จากเลขานุการผู้ช่วยรัฐมนตรีประจำกระทรวงทรัพยากรธรรมชาติและสิ่งแวดล้อม ในวันที่ 19 กันยายน 2562 ณ โรงแรมเดอะเบอร์เคลีย์ ประตูน้ำ กรุงเทพมหานคร",
|
||||
"mainImage": "https://ladsawai.go.th/public/list_upload/backend/list_1036/pics_topic_1036.jpg?266"
|
||||
},
|
||||
"date": null,
|
||||
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1036/pics_topic_1036_thumbnail.jpg",
|
||||
"sourcePage": 1,
|
||||
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1402/page/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
2266
รางวัลแห่งความภูมิใจ/page-menu-1402-page-1.html
Normal file
2266
รางวัลแห่งความภูมิใจ/page-menu-1402-page-1.html
Normal file
File diff suppressed because one or more lines are too long
2241
อีบุ๊ค (e-Book)/debug-menu-1625-page-1.html
Normal file
2241
อีบุ๊ค (e-Book)/debug-menu-1625-page-1.html
Normal file
File diff suppressed because one or more lines are too long
44
อีบุ๊ค (e-Book)/menu-1625-all.json
Normal file
44
อีบุ๊ค (e-Book)/menu-1625-all.json
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
"menuId": 1625,
|
||||
"totalPages": 1,
|
||||
"scrapedAt": "2026-01-13T09:10:06.143Z",
|
||||
"totalItems": 6,
|
||||
"items": [
|
||||
{
|
||||
"fileName": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3810/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_3810_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "คู่มือการจัดทำแผนบริหารความเสี่ยง",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4378/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4378_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "คู่มือวิธีการบันทึกบัญชีในระบบบัญชีคอมพิวเตอร์ ขององค์กรปกครองส่วนท้องถิ่น (e-LAAS)",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4379/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4379_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "คู่มือการจัดทำแผนท้องถิ่น(ยุทธศาสตร์ แผน3ปี)",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4381/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4381_1.pdf",
|
||||
"downloadCount": 2
|
||||
},
|
||||
{
|
||||
"fileName": "คู่มือการติดตามประเมินผลแผนพัฒนาของ อปท.",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4380/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4380_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "เทคนิคการจัดทำแผนพัฒนาท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4382/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4382_1.pdf",
|
||||
"downloadCount": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
45
อีบุ๊ค (e-Book)/menu-1625-page-1.json
Normal file
45
อีบุ๊ค (e-Book)/menu-1625-page-1.json
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"source": "https://ladsawai.go.th/public/list/data/index/menu/1625/page/1",
|
||||
"scrapedAt": "2026-01-13T09:10:06.130Z",
|
||||
"menuId": 1625,
|
||||
"page": 1,
|
||||
"count": 6,
|
||||
"items": [
|
||||
{
|
||||
"fileName": "คู่มือการปฏิบัติงานขององค์กรกรปกครองส่วนท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3810/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_3810_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "คู่มือการจัดทำแผนบริหารความเสี่ยง",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4378/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4378_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "คู่มือวิธีการบันทึกบัญชีในระบบบัญชีคอมพิวเตอร์ ขององค์กรปกครองส่วนท้องถิ่น (e-LAAS)",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4379/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4379_1.pdf",
|
||||
"downloadCount": 3
|
||||
},
|
||||
{
|
||||
"fileName": "คู่มือการจัดทำแผนท้องถิ่น(ยุทธศาสตร์ แผน3ปี)",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4381/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4381_1.pdf",
|
||||
"downloadCount": 2
|
||||
},
|
||||
{
|
||||
"fileName": "คู่มือการติดตามประเมินผลแผนพัฒนาของ อปท.",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4380/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4380_1.pdf",
|
||||
"downloadCount": 1
|
||||
},
|
||||
{
|
||||
"fileName": "เทคนิคการจัดทำแผนพัฒนาท้องถิ่น",
|
||||
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/4382/seq/1",
|
||||
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1560/files_4382_1.pdf",
|
||||
"downloadCount": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user