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 = ''
|
let detailHtmlPath = ''
|
||||||
|
if (saveHtml) {
|
||||||
try {
|
try {
|
||||||
// Extract id and menu from URL: /public/list/data/detail/id/{id}/menu/{menu}/page/{page}
|
// 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 urlMatch = detailUrl.match(/\/id\/(\d+)\/menu\/(\d+)/);
|
||||||
@ -161,20 +162,21 @@ async function scrapeOnePage(menuId, page, saveHtml = false) {
|
|||||||
"utf8"
|
"utf8"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
console.error('error :', error)
|
||||||
|
detailHtmlPath = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(realPath == null){
|
if(realPath == null){
|
||||||
return {
|
return {
|
||||||
title,
|
title,
|
||||||
detailUrl: detailUrl || null,
|
detailUrl: detailUrl || null,
|
||||||
detailPageHtml: detailHtmlPath, // ไฟล์จากหน้า detail
|
detailPageHtml: detailHtmlPath ?? undefined, // ไฟล์จากหน้า detail
|
||||||
sourcePage: page,
|
sourcePage: page,
|
||||||
sourceUrl: url,
|
sourceUrl: url,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
} catch (error) {
|
|
||||||
console.error('error :', error)
|
|
||||||
detailHtmlPath = ''
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title,
|
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