first
This commit is contained in:
commit
fe60294656
98
acts-and-royal-decrees.js
Normal file
98
acts-and-royal-decrees.js
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
// พระราชบัญญัติ และ พระราชกฤษฎีกา
|
||||||
|
|
||||||
|
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: 30 * 1024 * 1024 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function absUrl(href) {
|
||||||
|
if (!href) return null;
|
||||||
|
if (href.startsWith("http")) return href; // ลิงก์นอกโดเมน
|
||||||
|
if (href.startsWith("/")) return BASE + href; // /public/...
|
||||||
|
return BASE + "/" + href; // public/...
|
||||||
|
}
|
||||||
|
|
||||||
|
function scrapeLawMenu(menuId) {
|
||||||
|
const url = `${BASE}/rss/data/law/menu/${menuId}`;
|
||||||
|
const html = curlHtml(url);
|
||||||
|
|
||||||
|
// debug
|
||||||
|
fs.writeFileSync(path.join(OUT, `debug-menu-${menuId}.html`), html, "utf8");
|
||||||
|
|
||||||
|
const $ = cheerio.load(html);
|
||||||
|
const items = [];
|
||||||
|
|
||||||
|
// ในรูปอยู่ใน table > tbody > tr และข้อมูลอยู่ที่ td.law-topic
|
||||||
|
$("table tbody tr").each((_, tr) => {
|
||||||
|
const tds = $(tr).find("td.law-topic");
|
||||||
|
if (tds.length < 2) return;
|
||||||
|
|
||||||
|
// ✅ ช่องที่ 2 คือข้อมูลจริง
|
||||||
|
const td = tds.eq(1);
|
||||||
|
|
||||||
|
// title ที่ถูกต้องมักอยู่ใน <a> ตัวที่เป็นข้อความยาว (มักเป็นตัวสุดท้าย)
|
||||||
|
const title = td.find("a[href]").last().text().replace(/\s+/g, " ").trim();
|
||||||
|
if (!title || title === "-") return;
|
||||||
|
|
||||||
|
// เก็บ link ทุกตัวใน td (มีทั้ง read + download)
|
||||||
|
const links = [];
|
||||||
|
td.find("a[href]").each((_, a) => {
|
||||||
|
const href = $(a).attr("href");
|
||||||
|
const text = $(a).text().replace(/\s+/g, " ").trim();
|
||||||
|
links.push({
|
||||||
|
text: text || null,
|
||||||
|
href: absUrl(href),
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
const detail =
|
||||||
|
td
|
||||||
|
.clone()
|
||||||
|
.find("a") // ตัด a ออก เหลือ text ล้วน
|
||||||
|
.remove()
|
||||||
|
.end()
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim() || null;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
detail,
|
||||||
|
links,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return { url, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(function main() {
|
||||||
|
const menuId = 1220;
|
||||||
|
|
||||||
|
const { url, items } = scrapeLawMenu(menuId);
|
||||||
|
|
||||||
|
const out = {
|
||||||
|
menuId,
|
||||||
|
source: url,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
totalItems: items.length,
|
||||||
|
items,
|
||||||
|
};
|
||||||
|
|
||||||
|
const outJson = path.join(OUT, `menu-${menuId}-all.json`);
|
||||||
|
fs.writeFileSync(outJson, JSON.stringify(out, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("✅ Saved:", outJson);
|
||||||
|
console.log("✅ Items:", items.length);
|
||||||
|
})();
|
||||||
205
announcement-results.js
Normal file
205
announcement-results.js
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
// ผลประกาศ (1238)
|
||||||
|
// - list: ดึง detailUrl จาก a.listdataconfig_link
|
||||||
|
// - detail: ดึงไฟล์จาก a.uploadconfig_link (data-href/href)
|
||||||
|
// - resolve: ยิง /status/1/ เพื่อได้ path จริง แล้วประกอบเป็น URL เต็ม
|
||||||
|
|
||||||
|
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;
|
||||||
|
const h = href.trim();
|
||||||
|
if (!h) return null;
|
||||||
|
if (h.startsWith("http")) return h;
|
||||||
|
if (h.startsWith("/")) return BASE + h;
|
||||||
|
return BASE + "/" + h; // กัน "public/..."
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildListUrl(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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ยิง api /status/1/ เพื่อเอา path จริง
|
||||||
|
async function resolveRealFilePath(fileUrl) {
|
||||||
|
try {
|
||||||
|
const statusUrl = fileUrl.replace(/\/$/, "") + "/status/1/";
|
||||||
|
const res = await axios.get(statusUrl, { timeout: 30000 });
|
||||||
|
const p = res?.data?.path;
|
||||||
|
if (!p) return null;
|
||||||
|
return `${BASE}/public/${p.replace(/^\/+/, "")}`;
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ดึง “ไฟล์ลิงก์” จากหน้า detail (ได้ทั้ง raw และ real)
|
||||||
|
async function scrapeDetailFile(detailUrl) {
|
||||||
|
const html = curlHtml(detailUrl);
|
||||||
|
const $ = cheerio.load(html);
|
||||||
|
|
||||||
|
// 1) หาไฟล์จาก uploadconfig_link ก่อน
|
||||||
|
let raw =
|
||||||
|
($("a.uploadconfig_link").first().attr("data-href") ||
|
||||||
|
$("a.uploadconfig_link").first().attr("href") ||
|
||||||
|
"")?.trim();
|
||||||
|
|
||||||
|
// 2) fallback: หา a ที่เป็นไฟล์เอกสาร
|
||||||
|
if (!raw) {
|
||||||
|
$("a[href], a[data-href]").each((_, a) => {
|
||||||
|
if (raw) return;
|
||||||
|
const $a = $(a);
|
||||||
|
const h = ($a.attr("data-href") || $a.attr("href") || "").trim();
|
||||||
|
const full = absUrl(h);
|
||||||
|
if (full && /\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar)(\?|$)/i.test(full)) {
|
||||||
|
raw = h;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const rawUrl = absUrl(raw);
|
||||||
|
const realUrl = rawUrl ? await resolveRealFilePath(rawUrl) : null;
|
||||||
|
|
||||||
|
return { rawUrl, realUrl };
|
||||||
|
}
|
||||||
|
|
||||||
|
async function scrapeOnePage(menuId, page, saveHtml = false) {
|
||||||
|
const url = buildListUrl(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);
|
||||||
|
|
||||||
|
// ✅ เก็บ “แถว” ออกมาเป็น array ก่อน แล้วค่อย await ทีละแถว (กัน .each ไม่ await)
|
||||||
|
const rows = $(".row.data-row").toArray();
|
||||||
|
|
||||||
|
const items = [];
|
||||||
|
for (const row of rows) {
|
||||||
|
const el = $(row);
|
||||||
|
|
||||||
|
const left = el.find(".col-12.col-sm-10").first();
|
||||||
|
const a = left.find("a.listdataconfig_link[href]").first();
|
||||||
|
|
||||||
|
const title =
|
||||||
|
a.find("label").text().replace(/\s+/g, " ").trim() ||
|
||||||
|
a.text().replace(/\s+/g, " ").trim();
|
||||||
|
|
||||||
|
const detailUrl = absUrl(a.attr("href"));
|
||||||
|
|
||||||
|
const date = el
|
||||||
|
.find(".col-12.col-sm-2 #show-right-date")
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim();
|
||||||
|
|
||||||
|
const icons = [];
|
||||||
|
left.find("img").each((_, img) => {
|
||||||
|
const src = $(img).attr("src");
|
||||||
|
if (src) icons.push(absUrl(src));
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!title) continue;
|
||||||
|
|
||||||
|
// ✅ เข้า detail ไปเอาไฟล์จริง
|
||||||
|
let file = { rawUrl: null, realUrl: null };
|
||||||
|
if (detailUrl) {
|
||||||
|
file = await scrapeDetailFile(detailUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
date: date || null,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileRawUrl: file.rawUrl,
|
||||||
|
fileRealUrl: file.realUrl, // ✅ ของจริง
|
||||||
|
icons,
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const output = {
|
||||||
|
source: url,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
menuId,
|
||||||
|
page,
|
||||||
|
count: items.length,
|
||||||
|
items,
|
||||||
|
};
|
||||||
|
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.join(OUT, `list-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 = 1238;
|
||||||
|
|
||||||
|
// หน้า 1 เพื่อหา totalPages
|
||||||
|
const first = await scrapeOnePage(menuId, 1, true);
|
||||||
|
const totalPages = detectTotalPages(first.$);
|
||||||
|
console.log("✅ totalPages =", totalPages);
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
const addItems = (items) => {
|
||||||
|
for (const it of items) {
|
||||||
|
const key = `${it.title || ""}|${it.date || ""}|${it.detailUrl || ""}`;
|
||||||
|
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, `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);
|
||||||
|
})();
|
||||||
221
annual-operation-report.js
Normal file
221
annual-operation-report.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 82;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
anti-corruption-action-plan.js
Normal file
221
anti-corruption-action-plan.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 75;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
budget-explanation-amendments.js
Normal file
221
budget-explanation-amendments.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 91;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
budget-ordinances.js
Normal file
221
budget-ordinances.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 6;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
budget-transfer.js
Normal file
221
budget-transfer.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 90;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
218
citizen-handbook.js
Normal file
218
citizen-handbook.js
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
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, catid, 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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1208;
|
||||||
|
const catid = 66;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
development-plan-evaluation.js
Normal file
221
development-plan-evaluation.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 7;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
209
events-calendar.js
Normal file
209
events-calendar.js
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
// กิจกรรม
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
return { imgs: [...imgSet], text: content };
|
||||||
|
}
|
||||||
|
|
||||||
|
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-sm-8")
|
||||||
|
.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 } = linkD ? scrapeDetailImagesContent(linkD) : [];
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
detailRef: linkD,
|
||||||
|
detail:{
|
||||||
|
img: imgs,
|
||||||
|
content: text
|
||||||
|
},
|
||||||
|
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 = 1559; // กิจกรรม
|
||||||
|
const totalPages = 55;
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
// ถ้าไม่อยากให้มี HTML 53 ไฟล์ ให้เป็น false
|
||||||
|
const saveHtml = false;
|
||||||
|
|
||||||
|
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);
|
||||||
|
})();
|
||||||
174
forms-download.js
Normal file
174
forms-download.js
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
// ดาวน์โหลดแบบฟอร์ม
|
||||||
|
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: 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}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
// หาเลขหน้ามากสุดจาก pagination
|
||||||
|
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 pickFileUrlFromAnchor($a) {
|
||||||
|
const href = $a.attr("href");
|
||||||
|
const dataHref = $a.attr("data-href");
|
||||||
|
return absUrl(dataHref || href);
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
const items = [];
|
||||||
|
|
||||||
|
// ✅ เลือก container หลัก: ถ้าไม่มี .row.data-row (เพราะ JS ยังไม่ render) ก็ fallback เป็นทั้งหน้า
|
||||||
|
const rows = $(".row.data-row").length ? $(".row.data-row") : $("body");
|
||||||
|
|
||||||
|
rows.each((_, row) => {
|
||||||
|
const el = $(row);
|
||||||
|
|
||||||
|
// ✅ หา <a> ที่เป็นไฟล์: รองรับทั้ง href และ data-href + pdf/doc/xls
|
||||||
|
const $a =
|
||||||
|
el
|
||||||
|
.find('a[href*="/public/list/upload/"], a[data-href*="/public/list/upload/"]')
|
||||||
|
.first()
|
||||||
|
.length
|
||||||
|
? el
|
||||||
|
.find('a[href*="/public/list/upload/"], a[data-href*="/public/list/upload/"]')
|
||||||
|
.first()
|
||||||
|
: el
|
||||||
|
.find(
|
||||||
|
'a[href$=".pdf"],a[href*=".pdf?"],a[data-href$=".pdf"],a[data-href*=".pdf?"],a[href$=".doc"],a[href$=".docx"],a[href$=".xls"],a[href$=".xlsx"],a[data-href$=".doc"],a[data-href$=".docx"],a[data-href$=".xls"],a[data-href$=".xlsx"]'
|
||||||
|
)
|
||||||
|
.first();
|
||||||
|
|
||||||
|
if (!$a.length) return;
|
||||||
|
|
||||||
|
const fileUrl = pickFileUrlFromAnchor($a);
|
||||||
|
if (!fileUrl) return;
|
||||||
|
|
||||||
|
// ✅ title: เอา text ของแถว/บล็อก แล้วตัด a/img ออก (ให้เหลือชื่อจริง)
|
||||||
|
const title = el
|
||||||
|
.clone()
|
||||||
|
.find("label")
|
||||||
|
// .find("a, img, script, style")
|
||||||
|
.remove()
|
||||||
|
.end()
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim();
|
||||||
|
|
||||||
|
// กันกรณี title ว่างเพราะหน้า render แปลก ๆ
|
||||||
|
const safeTitle = title || $a.text().replace(/\s+/g, " ").trim() || null;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title: safeTitle,
|
||||||
|
fileUrl,
|
||||||
|
filename: fileUrl.split("/").pop() || null,
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// ✅ debug เพิ่ม: ทั้งหน้าเจอ pdf links กี่อัน
|
||||||
|
const debugPdfCount = $(
|
||||||
|
'a[href$=".pdf"],a[href*=".pdf?"],a[data-href$=".pdf"],a[data-href*=".pdf?"],a[href*="/public/list/upload/"],a[data-href*="/public/list/upload/"]'
|
||||||
|
).length;
|
||||||
|
|
||||||
|
const output = {
|
||||||
|
source: url,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
menuId,
|
||||||
|
page,
|
||||||
|
count: items.length,
|
||||||
|
debugPdfCount,
|
||||||
|
items,
|
||||||
|
};
|
||||||
|
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.join(OUT, `menu-${menuId}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length} (pdfLinksInHtml=${debugPdfCount})`);
|
||||||
|
return { $, items, debugPdfCount };
|
||||||
|
}
|
||||||
|
|
||||||
|
(function main() {
|
||||||
|
const menuId = 1210;
|
||||||
|
|
||||||
|
const first = scrapeOnePage(menuId, 1, true);
|
||||||
|
|
||||||
|
// ถ้า page1 ยังไม่มีลิงก์ใน HTML เลย แปลว่าหน้านี้ต้องใช้ JS render (curl จะไม่เห็น)
|
||||||
|
if (!first.debugPdfCount && first.items.length === 0) {
|
||||||
|
console.log("⚠️ หน้า HTML ที่ curl ได้ยังไม่มีลิงก์ไฟล์ (น่าจะถูก JS render ทีหลัง) -> ต้องใช้วิธีดึง endpoint/หรือใช้ browser automation");
|
||||||
|
}
|
||||||
|
|
||||||
|
const totalPages = detectTotalPages(first.$);
|
||||||
|
console.log("✅ totalPages =", totalPages);
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
const addItems = (items) => {
|
||||||
|
for (const it of items) {
|
||||||
|
const key = `${it.title || ""}|${it.fileUrl || ""}`;
|
||||||
|
if (seen.has(key)) continue;
|
||||||
|
seen.add(key);
|
||||||
|
all.push(it);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
addItems(first.items);
|
||||||
|
|
||||||
|
for (let p = 2; p <= totalPages; p++) {
|
||||||
|
const { items } = 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);
|
||||||
|
})();
|
||||||
221
hr-management-development.js
Normal file
221
hr-management-development.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 80;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
hr-management-policy.js
Normal file
221
hr-management-policy.js
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
// นโยบายการบริหารทรัพยากรบุคคล 1619
|
||||||
|
|
||||||
|
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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1619;
|
||||||
|
const catid = 66;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
manpower-plan.js
Normal file
221
manpower-plan.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 4;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
98
ministry-laws-regulations.js
Normal file
98
ministry-laws-regulations.js
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
// กฎหมาย ระเบียบ และประกาศกระทรวง
|
||||||
|
|
||||||
|
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: 30 * 1024 * 1024 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function absUrl(href) {
|
||||||
|
if (!href) return null;
|
||||||
|
if (href.startsWith("http")) return href; // ลิงก์นอกโดเมน
|
||||||
|
if (href.startsWith("/")) return BASE + href; // /public/...
|
||||||
|
return BASE + "/" + href; // public/...
|
||||||
|
}
|
||||||
|
|
||||||
|
function scrapeLawMenu(menuId) {
|
||||||
|
const url = `${BASE}/rss/data/rules/menu/${menuId}`;
|
||||||
|
const html = curlHtml(url);
|
||||||
|
|
||||||
|
// debug
|
||||||
|
fs.writeFileSync(path.join(OUT, `debug-menu-${menuId}.html`), html, "utf8");
|
||||||
|
|
||||||
|
const $ = cheerio.load(html);
|
||||||
|
const items = [];
|
||||||
|
|
||||||
|
// ในรูปอยู่ใน table > tbody > tr และข้อมูลอยู่ที่ td.rules-topic
|
||||||
|
$("table tbody tr").each((_, tr) => {
|
||||||
|
const tds = $(tr).find("td.rules-topic");
|
||||||
|
if (tds.length < 2) return;
|
||||||
|
|
||||||
|
// ✅ ช่องที่ 2 คือข้อมูลจริง
|
||||||
|
const td = tds.eq(1);
|
||||||
|
|
||||||
|
// title ที่ถูกต้องมักอยู่ใน <a> ตัวที่เป็นข้อความยาว (มักเป็นตัวสุดท้าย)
|
||||||
|
const title = td.find("a[href]").last().text().replace(/\s+/g, " ").trim();
|
||||||
|
if (!title || title === "-") return;
|
||||||
|
|
||||||
|
// เก็บ link ทุกตัวใน td (มีทั้ง read + download)
|
||||||
|
const links = [];
|
||||||
|
td.find("a[href]").each((_, a) => {
|
||||||
|
const href = $(a).attr("href");
|
||||||
|
const text = $(a).text().replace(/\s+/g, " ").trim();
|
||||||
|
links.push({
|
||||||
|
text: text || null,
|
||||||
|
href: absUrl(href),
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
const detail =
|
||||||
|
td
|
||||||
|
.clone()
|
||||||
|
.find("a") // ตัด a ออก เหลือ text ล้วน
|
||||||
|
.remove()
|
||||||
|
.end()
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim() || null;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
detail,
|
||||||
|
links,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return { url, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(function main() {
|
||||||
|
const menuId = 1221;
|
||||||
|
|
||||||
|
const { url, items } = scrapeLawMenu(menuId);
|
||||||
|
|
||||||
|
const out = {
|
||||||
|
menuId,
|
||||||
|
source: url,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
totalItems: items.length,
|
||||||
|
items,
|
||||||
|
};
|
||||||
|
|
||||||
|
const outJson = path.join(OUT, `menu-${menuId}-all.json`);
|
||||||
|
fs.writeFileSync(outJson, JSON.stringify(out, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("✅ Saved:", outJson);
|
||||||
|
console.log("✅ Items:", items.length);
|
||||||
|
})();
|
||||||
221
municipal-ordinances-orders.js
Normal file
221
municipal-ordinances-orders.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1539;
|
||||||
|
const catid = 66;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
no-gift-policy.js
Normal file
221
no-gift-policy.js
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
// นโยบาย No Gift Policy (menu/1634)
|
||||||
|
|
||||||
|
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(), "นโยบาย No Gift Policy");
|
||||||
|
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) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1634;
|
||||||
|
const catid = 66;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
operation-plans.js
Normal file
221
operation-plans.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 1;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
1425
package-lock.json
generated
Normal file
1425
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
23
package.json
Normal file
23
package.json
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "sclsw",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"axios": "^1.13.2",
|
||||||
|
"cheerio": "^1.0.0-rc.12",
|
||||||
|
"fetch-blob": "^4.0.0",
|
||||||
|
"got": "^14.6.5",
|
||||||
|
"node-fetch": "^2.7.0",
|
||||||
|
"playwright": "^1.57.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"tsx": "^4.21.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
221
pathumthani-committee-resolutions.js
Normal file
221
pathumthani-committee-resolutions.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 81;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
plans-and-budget.js
Normal file
221
plans-and-budget.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 2;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
221
procurement-action-plan.js
Normal file
221
procurement-action-plan.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 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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
return `${BASE}/public/list/data/datacategory/catid/${catid}/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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1196;
|
||||||
|
const catid = 112;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
247
public-relations.js
Normal file
247
public-relations.js
Normal file
@ -0,0 +1,247 @@
|
|||||||
|
// ข่าวประชาสัมพันธ์
|
||||||
|
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(src) {
|
||||||
|
if (!src) return null;
|
||||||
|
if (src.startsWith("http")) return src;
|
||||||
|
if (src.startsWith("/")) return BASE + src;
|
||||||
|
return BASE + "/" + src; // กันเคส data-href = "public/...."
|
||||||
|
}
|
||||||
|
|
||||||
|
// ✅ ยิง 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 {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function scrapeDetailImagesContent(detailUrl) {
|
||||||
|
const html = curlHtml(detailUrl);
|
||||||
|
const $ = cheerio.load(html);
|
||||||
|
|
||||||
|
// ---------- files ----------
|
||||||
|
const fileSet = new Set();
|
||||||
|
|
||||||
|
$("a.uploadconfig_link").each((_, a) => {
|
||||||
|
const $a = $(a);
|
||||||
|
const raw = ($a.attr("data-href") || $a.attr("href") || "").trim();
|
||||||
|
const full = absUrl(raw);
|
||||||
|
if (full) fileSet.add(full);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (fileSet.size === 0) {
|
||||||
|
$("a[href], a[data-href]").each((_, a) => {
|
||||||
|
const $a = $(a);
|
||||||
|
const raw = ($a.attr("data-href") || $a.attr("href") || "").trim();
|
||||||
|
const full = absUrl(raw);
|
||||||
|
if (!full) return;
|
||||||
|
|
||||||
|
if (/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar)(\?|$)/i.test(full)) {
|
||||||
|
fileSet.add(full);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// ✅ Set ต้องแปลงเป็น Array ก่อนเอา [0]
|
||||||
|
const firstFileUrl = Array.from(fileSet)[0] || null;
|
||||||
|
|
||||||
|
let realPath = null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
const p = await resolveRealFilePath(firstFileUrl);
|
||||||
|
realPath = p ? `https://ladsawai.go.th/public/${p}` : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------- 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 ----------
|
||||||
|
const candidates = $(".col-12.maingroup").not(".gallery");
|
||||||
|
|
||||||
|
let bestBox = null;
|
||||||
|
let bestScore = -1;
|
||||||
|
|
||||||
|
candidates.each((_, el) => {
|
||||||
|
const $el = $(el);
|
||||||
|
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;
|
||||||
|
|
||||||
|
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")
|
||||||
|
.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();
|
||||||
|
}
|
||||||
|
|
||||||
|
return { imgs: [...imgSet], text: content, files: realPath };
|
||||||
|
}
|
||||||
|
|
||||||
|
// ✅ ต้องเป็น async เพื่อ await detail
|
||||||
|
async 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 = [];
|
||||||
|
|
||||||
|
// ✅ ห้ามใช้ .each(async ...) ให้ใช้ loop ปกติแทน
|
||||||
|
const rows = $(".row.data-row").toArray();
|
||||||
|
for (const row of rows) {
|
||||||
|
const el = $(row);
|
||||||
|
|
||||||
|
const title = el.find(".col-sm-8").text().replace(/\s+/g, " ").trim();
|
||||||
|
if (!title) continue;
|
||||||
|
|
||||||
|
const href = (el.find("a.listdataconfig_link").attr("href") || "").trim();
|
||||||
|
if (!href) continue;
|
||||||
|
|
||||||
|
const linkD = absUrl(href);
|
||||||
|
|
||||||
|
const date = el.find(".col-sm-2").last().text().trim();
|
||||||
|
const imgSrc = el.find("img").attr("src");
|
||||||
|
|
||||||
|
let detail = { imgs: [], text: "", files: null };
|
||||||
|
try {
|
||||||
|
detail = linkD ? await scrapeDetailImagesContent(linkD) : detail;
|
||||||
|
} catch {
|
||||||
|
// กันหน้า detail บางอันพัง
|
||||||
|
}
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
detailRef: linkD,
|
||||||
|
detail: {
|
||||||
|
img: detail.imgs,
|
||||||
|
content: detail.text,
|
||||||
|
link: detail.files,
|
||||||
|
},
|
||||||
|
date: date || null,
|
||||||
|
image: absUrl(imgSrc),
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const output = {
|
||||||
|
source: url,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
menuId,
|
||||||
|
page,
|
||||||
|
count: items.length,
|
||||||
|
items,
|
||||||
|
};
|
||||||
|
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.join(OUT, `list-menu-${menuId}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ✅ main ต้อง async เพื่อ await scrapeOnePage
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1554;
|
||||||
|
const totalPages = 53;
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
for (let page = 1; page <= totalPages; page++) {
|
||||||
|
const items = await scrapeOnePage(menuId, page, false);
|
||||||
|
|
||||||
|
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);
|
||||||
|
})();
|
||||||
135
scrape-ladsawai-book.js
Normal file
135
scrape-ladsawai-book.js
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
// หนังสือราชการ กรมส่งเสริมการปกครองท้องถิ่น
|
||||||
|
|
||||||
|
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: 30 * 1024 * 1024 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function absUrl(src) {
|
||||||
|
if (!src) return null;
|
||||||
|
if (src.startsWith("http")) return src;
|
||||||
|
if (src.startsWith("/")) return BASE + src;
|
||||||
|
return BASE + "/" + src;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ✅ TODO: ใส่ path ให้ตรงของจริง (ดูจาก address bar)
|
||||||
|
// ตัวอย่างสมมติ:
|
||||||
|
// return `${BASE}/public/dispatch/index/menu/XXXX/page/${page}`;
|
||||||
|
function buildUrl(page) {
|
||||||
|
const menuId = 1243; // << เปลี่ยนให้ตรงเมนู
|
||||||
|
return `${BASE}/public/dispatch/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function scrapeOnePage(page, saveHtml = false) {
|
||||||
|
const url = buildUrl(page);
|
||||||
|
const html = curlHtml(url);
|
||||||
|
|
||||||
|
if (saveHtml) {
|
||||||
|
fs.writeFileSync(path.join(OUT, `debug-page-${page}.html`), html, "utf8");
|
||||||
|
}
|
||||||
|
|
||||||
|
const $ = cheerio.load(html);
|
||||||
|
const items = [];
|
||||||
|
|
||||||
|
const rows = $("table.dispatch_table tbody tr.dispatch_odd, table.dispatch_table tbody tr.dispatch_even");
|
||||||
|
console.log(`page ${page} rows =`, rows.length);
|
||||||
|
|
||||||
|
rows.each((_, tr) => {
|
||||||
|
const tds = $(tr).find("td.dispatch_normal");
|
||||||
|
if (tds.length < 4) return;
|
||||||
|
|
||||||
|
const date = $(tds[0]).text().replace(/\s+/g, " ").trim();
|
||||||
|
const no = $(tds[1]).text().replace(/\s+/g, " ").trim();
|
||||||
|
|
||||||
|
const topicTd = $(tds[2]);
|
||||||
|
const a = topicTd.find("a[href]").first();
|
||||||
|
const title = (a.text() || topicTd.text()).replace(/\s+/g, " ").trim();
|
||||||
|
const link = absUrl(a.attr("href"));
|
||||||
|
|
||||||
|
// บางแถวมีไอคอน pdf/ไฟล์
|
||||||
|
const fileLinks = [];
|
||||||
|
topicTd.find("a[href], img[src]").each((_, el) => {
|
||||||
|
const tag = el.tagName?.toLowerCase();
|
||||||
|
if (tag === "a") {
|
||||||
|
const href = $(el).attr("href");
|
||||||
|
if (href) fileLinks.push(absUrl(href));
|
||||||
|
} else if (tag === "img") {
|
||||||
|
const src = $(el).attr("src");
|
||||||
|
if (src) fileLinks.push(absUrl(src));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const type = $(tds[3]).text().replace(/\s+/g, " ").trim();
|
||||||
|
|
||||||
|
if (!title) return;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
date: date || null,
|
||||||
|
no: no || null,
|
||||||
|
title,
|
||||||
|
type: type || null,
|
||||||
|
link: link || null,
|
||||||
|
fileLinks: [...new Set(fileLinks)].filter(Boolean),
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = {
|
||||||
|
source: url,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
page,
|
||||||
|
count: items.length,
|
||||||
|
items,
|
||||||
|
};
|
||||||
|
|
||||||
|
fs.writeFileSync(path.join(OUT, `page-${page}.json`), JSON.stringify(output, null, 2), "utf8");
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
(function main() {
|
||||||
|
const totalPages = 1231; // จาก pagination ในรูป (มีถึง 1231)
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
for (let p = 1; p <= totalPages; p++) {
|
||||||
|
const items = scrapeOnePage(p, p === 1); // debug หน้าแรก
|
||||||
|
for (const it of items) {
|
||||||
|
const key = `${it.date}|${it.no}|${it.title}|${it.type}|${it.link}`;
|
||||||
|
if (seen.has(key)) continue;
|
||||||
|
seen.add(key);
|
||||||
|
all.push(it);
|
||||||
|
}
|
||||||
|
|
||||||
|
// กันเหนื่อย: ถ้าหน้าไหน 0 แปลว่า url/selector ไม่ตรง ให้หยุดเพื่อ debug
|
||||||
|
if (p === 1 && items.length === 0) {
|
||||||
|
console.log("❌ page 1 = 0: เปิด debug-page-1.html แล้วเช็ค buildUrl(menuId/path)");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.join(OUT, `all.json`),
|
||||||
|
JSON.stringify(
|
||||||
|
{ scrapedAt: new Date().toISOString(), totalItems: all.length, items: all },
|
||||||
|
null,
|
||||||
|
2
|
||||||
|
),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log("✅ Total:", all.length);
|
||||||
|
})();
|
||||||
112
scrape-ladsawai-list.js
Normal file
112
scrape-ladsawai-list.js
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
const fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
const cheerio = require("cheerio");
|
||||||
|
const { chromium } = require("playwright");
|
||||||
|
|
||||||
|
const BASE = "https://ladsawai.go.th";
|
||||||
|
const OUT = path.join(process.cwd(), "ประกาศจัดซื้อจัดจ้าง");
|
||||||
|
fs.mkdirSync(OUT, { recursive: true });
|
||||||
|
|
||||||
|
function absUrl(src) {
|
||||||
|
if (!src) return null;
|
||||||
|
if (src.startsWith("http")) return src;
|
||||||
|
if (src.startsWith("/")) return BASE + src;
|
||||||
|
return BASE + "/" + src;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function scrapePage(menuId, page) {
|
||||||
|
const url = `${BASE}/public/list/data/index/menu/${menuId}/page/${page}`;
|
||||||
|
|
||||||
|
const browser = await chromium.launch({ headless: true });
|
||||||
|
const pageObj = await browser.newPage();
|
||||||
|
|
||||||
|
await pageObj.goto(url, { waitUntil: "networkidle", timeout: 60000 });
|
||||||
|
|
||||||
|
// รอให้ JS render row จริง
|
||||||
|
await pageObj.waitForSelector(".row.data-row", { timeout: 30000 });
|
||||||
|
|
||||||
|
const html = await pageObj.content();
|
||||||
|
await browser.close();
|
||||||
|
|
||||||
|
// debug HTML ที่ render แล้ว
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.join(OUT, `debug-rendered-page-${page}.html`),
|
||||||
|
html,
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
const $ = cheerio.load(html);
|
||||||
|
const items = [];
|
||||||
|
|
||||||
|
$(".row.data-row").each((_, row) => {
|
||||||
|
const el = $(row);
|
||||||
|
|
||||||
|
const left = el.find(".col-12.col-sm-10").first();
|
||||||
|
|
||||||
|
// 👉 ตอนนี้ text จะมาแล้ว
|
||||||
|
const title = left
|
||||||
|
.clone()
|
||||||
|
.find("a,img")
|
||||||
|
.remove()
|
||||||
|
.end()
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim();
|
||||||
|
|
||||||
|
const a = left.find("a[href]").first();
|
||||||
|
const link = absUrl(a.attr("href"));
|
||||||
|
|
||||||
|
const date = el
|
||||||
|
.find(".col-12.col-sm-2")
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim();
|
||||||
|
|
||||||
|
if (!title) return;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
date,
|
||||||
|
link,
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
(async () => {
|
||||||
|
const menuId = 1236;
|
||||||
|
const totalPages = 12;
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
for (let p = 1; p <= totalPages; p++) {
|
||||||
|
const items = await scrapePage(menuId, p);
|
||||||
|
console.log(`✅ page ${p} -> ${items.length} items`);
|
||||||
|
|
||||||
|
for (const it of items) {
|
||||||
|
const key = `${it.title}|${it.date}|${it.link}`;
|
||||||
|
if (seen.has(key)) continue;
|
||||||
|
seen.add(key);
|
||||||
|
all.push(it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const out = {
|
||||||
|
menuId,
|
||||||
|
totalItems: all.length,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
items: all,
|
||||||
|
};
|
||||||
|
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.join(OUT, `menu-${menuId}-all.json`),
|
||||||
|
JSON.stringify(out, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log("🎉 DONE:", all.length);
|
||||||
|
})();
|
||||||
132
scrape-ladsawai-ls.js
Normal file
132
scrape-ladsawai-ls.js
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
// ผลประกาศจัดซื้อจัดจ้าง
|
||||||
|
// ประกาศจัดซื้อจัดจ้าง
|
||||||
|
|
||||||
|
|
||||||
|
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(), "ผลประกาศจัดซื้อจัดจ้าง");
|
||||||
|
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;
|
||||||
|
if (src.startsWith("/")) return BASE + src;
|
||||||
|
return BASE + "/" + src; // กัน "public/..."
|
||||||
|
}
|
||||||
|
|
||||||
|
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 left = el.find(".col-12.col-sm-10").first();
|
||||||
|
const a = left.find("a.listdataconfig_link").first();
|
||||||
|
|
||||||
|
// title อยู่ใน <label>
|
||||||
|
const title =
|
||||||
|
a.find("label").text().replace(/\s+/g, " ").trim() ||
|
||||||
|
a.text().replace(/\s+/g, " ").trim();
|
||||||
|
|
||||||
|
const link = absUrl(a.attr("href"));
|
||||||
|
|
||||||
|
const date = el
|
||||||
|
.find(".col-12.col-sm-2 #show-right-date")
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim();
|
||||||
|
|
||||||
|
// icon (optional)
|
||||||
|
const icons = [];
|
||||||
|
left.find("img").each((_, img) => {
|
||||||
|
const src = $(img).attr("src");
|
||||||
|
if (src) icons.push(absUrl(src));
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!title) return;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
date: date || null,
|
||||||
|
link: link || null,
|
||||||
|
icons,
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
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 = 1238; // ผลประกาศจัดซื้อจัดจ้าง
|
||||||
|
// const totalPages = 6;
|
||||||
|
const menuId = 1236; // ประกาศจัดซื้อจัดจ้าง
|
||||||
|
const totalPages = 12;
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
// ถ้าไม่อยากให้มี HTML 53 ไฟล์ ให้เป็น false
|
||||||
|
const saveHtml = false;
|
||||||
|
|
||||||
|
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);
|
||||||
|
})();
|
||||||
127
scrape-ladsawai-ls2.js
Normal file
127
scrape-ladsawai-ls2.js
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
// ประกาศจัดซื้อจัดจ้าง
|
||||||
|
|
||||||
|
|
||||||
|
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;
|
||||||
|
if (src.startsWith("/")) return BASE + src;
|
||||||
|
return BASE + "/" + src; // กัน "public/..."
|
||||||
|
}
|
||||||
|
|
||||||
|
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 left = el.find(".col-12.col-sm-10").first();
|
||||||
|
const a = left.find("a.listdataconfig_link").first();
|
||||||
|
|
||||||
|
// title อยู่ใน <label>
|
||||||
|
const title =
|
||||||
|
a.text().replace(/\s+/g, " ").trim();
|
||||||
|
|
||||||
|
const link = absUrl(a.attr("href"));
|
||||||
|
|
||||||
|
const date = el
|
||||||
|
.find(".col-12.col-sm-2 #show-right-date")
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim();
|
||||||
|
|
||||||
|
// icon (optional)
|
||||||
|
const icons = [];
|
||||||
|
left.find("img").each((_, img) => {
|
||||||
|
const src = $(img).attr("src");
|
||||||
|
if (src) icons.push(absUrl(src));
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!title) return;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
date: date || null,
|
||||||
|
link: link || null,
|
||||||
|
icons,
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
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 = 1236; // ประกาศจัดซื้อจัดจ้าง
|
||||||
|
const totalPages = 12;
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
// ถ้าไม่อยากให้มี HTML 53 ไฟล์ ให้เป็น false
|
||||||
|
const saveHtml = false;
|
||||||
|
|
||||||
|
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);
|
||||||
|
})();
|
||||||
117
scrape-ladsawai-table.js
Normal file
117
scrape-ladsawai-table.js
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
// ประกาศจัดซื้อจัดจ้างภาครัฐ (egp)
|
||||||
|
|
||||||
|
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(), "ประกาศจัดซื้อจัดจ้างภาครัฐ (egp)"); // ประกาศจัดซื้อจัดจ้างภาครัฐ (egp)
|
||||||
|
|
||||||
|
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 scrapeOnePage(menuId, page, saveHtml = false) {
|
||||||
|
const url = `${BASE}/public/rss/egp/listegp/menu/${menuId}/page/${page}`;
|
||||||
|
const html = curlHtml(url);
|
||||||
|
|
||||||
|
if (saveHtml) {
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.join(OUT, `page-egp-menu-${menuId}-page-${page}.html`),
|
||||||
|
html,
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const $ = cheerio.load(html);
|
||||||
|
const items = [];
|
||||||
|
|
||||||
|
// ✅ ตารางรายการ
|
||||||
|
$("table tbody tr").each((_, tr) => {
|
||||||
|
const tds = $(tr).find("td");
|
||||||
|
if (tds.length < 3) return;
|
||||||
|
|
||||||
|
const date = $(tds[0]).text().replace(/\s+/g, " ").trim();
|
||||||
|
const category = $(tds[1]).text().replace(/\s+/g, " ").trim();
|
||||||
|
|
||||||
|
const a = $(tds[2]).find("a").first();
|
||||||
|
const title = a.text().replace(/\s+/g, " ").trim();
|
||||||
|
const link = absUrl(a.attr("href")); // หน้ารายละเอียด (ถ้ามี)
|
||||||
|
|
||||||
|
if (!title) return;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
date: date || null,
|
||||||
|
category: category || null,
|
||||||
|
link: link || null,
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = {
|
||||||
|
source: url,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
menuId,
|
||||||
|
page,
|
||||||
|
count: items.length,
|
||||||
|
items,
|
||||||
|
};
|
||||||
|
|
||||||
|
const outJson = path.join(OUT, `egp-menu-${menuId}-page-${page}.json`);
|
||||||
|
fs.writeFileSync(outJson, JSON.stringify(output, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log(`✅ EGP page ${page} -> items ${items.length}`);
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
(function main() {
|
||||||
|
const menuId = 1564; // ประกาศจัดซื้อจัดจ้างภาครัฐ (egp)
|
||||||
|
const totalPages = 240;
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
// ถ้าไม่อยากให้มี HTML 53 ไฟล์ ให้เป็น false
|
||||||
|
const saveHtml = false;
|
||||||
|
|
||||||
|
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);
|
||||||
|
})();
|
||||||
116
scrape-ladsawai.js
Normal file
116
scrape-ladsawai.js
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
// ข่าวประชาสัมพันธ์
|
||||||
|
// กิจกรรม
|
||||||
|
|
||||||
|
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(), "scrape_output");
|
||||||
|
// const OUT = path.join(process.cwd(), "ข่าวประชาสัมพันธ์");
|
||||||
|
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 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-sm-8")
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim();
|
||||||
|
|
||||||
|
const date = el.find(".col-sm-2").last().text().trim();
|
||||||
|
const imgSrc = el.find("img").attr("src");
|
||||||
|
|
||||||
|
if (!title) return;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
date: date || null,
|
||||||
|
image: absUrl(imgSrc),
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
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 = 1554; // ข่าวประชาสัมพันธ์
|
||||||
|
// const totalPages = 53; // ข่าวประชาสัมพันธ์
|
||||||
|
const menuId = 1559; // กิจกรรม
|
||||||
|
const totalPages = 55;
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
// ถ้าไม่อยากให้มี HTML 53 ไฟล์ ให้เป็น false
|
||||||
|
const saveHtml = false;
|
||||||
|
|
||||||
|
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);
|
||||||
|
})();
|
||||||
116
scrape-ladswai-egp.js
Normal file
116
scrape-ladswai-egp.js
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
// ประกาศจัดซื้อจัดจ้างภาครัฐ (egp)
|
||||||
|
|
||||||
|
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(), "ประกาศจัดซื้อจัดจ้างภาครัฐ (egp)");
|
||||||
|
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(src) {
|
||||||
|
if (!src) return null;
|
||||||
|
if (src.startsWith("http")) return src;
|
||||||
|
if (src.startsWith("/")) return BASE + src;
|
||||||
|
return BASE + "/" + src; // กัน "public/..."
|
||||||
|
}
|
||||||
|
|
||||||
|
function scrapeOnePage(menuId, page, saveHtml = false) {
|
||||||
|
const url = `${BASE}/public/rss/egp/listegp/menu/${menuId}/page/${page}`;
|
||||||
|
const html = curlHtml(url);
|
||||||
|
|
||||||
|
if (saveHtml) {
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.join(OUT, `page-egp-menu-${menuId}-page-${page}.html`),
|
||||||
|
html,
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const $ = cheerio.load(html);
|
||||||
|
const items = [];
|
||||||
|
|
||||||
|
// ✅ ตารางรายการ
|
||||||
|
$("table tbody tr").each((_, tr) => {
|
||||||
|
const tds = $(tr).find("td");
|
||||||
|
if (tds.length < 3) return;
|
||||||
|
|
||||||
|
const date = $(tds[0]).text().replace(/\s+/g, " ").trim();
|
||||||
|
const category = $(tds[1]).text().replace(/\s+/g, " ").trim();
|
||||||
|
|
||||||
|
const a = $(tds[2]).find("a[href]").first();
|
||||||
|
const title = a.text().replace(/\s+/g, " ").trim();
|
||||||
|
const link = absUrl(a.attr("href"));
|
||||||
|
|
||||||
|
if (!title) return;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
date: date || null,
|
||||||
|
category: category || null,
|
||||||
|
link: link || null,
|
||||||
|
sourcePage: page,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = {
|
||||||
|
source: url,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
menuId,
|
||||||
|
page,
|
||||||
|
count: items.length,
|
||||||
|
items,
|
||||||
|
};
|
||||||
|
|
||||||
|
const outJson = path.join(OUT, `egp-menu-${menuId}-page-${page}.json`);
|
||||||
|
fs.writeFileSync(outJson, JSON.stringify(output, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log(`✅ EGP page ${page} -> items ${items.length}`);
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
(function main() {
|
||||||
|
const menuId = 1564;
|
||||||
|
const totalPages = 240;
|
||||||
|
|
||||||
|
const all = [];
|
||||||
|
const seen = new Set();
|
||||||
|
|
||||||
|
const saveHtml = false;
|
||||||
|
|
||||||
|
for (let page = 1; page <= totalPages; page++) {
|
||||||
|
const items = scrapeOnePage(menuId, page, saveHtml);
|
||||||
|
|
||||||
|
for (const it of items) {
|
||||||
|
// ✅ FIX: EGP ไม่มี image → ใช้ title+date+category+link
|
||||||
|
const key = `${it.title}|${it.date || ""}|${it.category || ""}|${it.link || ""}`;
|
||||||
|
if (seen.has(key)) continue;
|
||||||
|
seen.add(key);
|
||||||
|
all.push(it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const merged = {
|
||||||
|
menuId,
|
||||||
|
totalPages,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
totalItems: all.length,
|
||||||
|
items: all,
|
||||||
|
};
|
||||||
|
|
||||||
|
// ✅ ไฟล์รวมทั้งหมด (all)
|
||||||
|
const outAll = path.join(OUT, `egp-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);
|
||||||
|
})();
|
||||||
3613
scrape_output/list-menu-1554-all.json
Normal file
3613
scrape_output/list-menu-1554-all.json
Normal file
File diff suppressed because it is too large
Load Diff
79
scrape_output/list-menu-1554-page-1.json
Normal file
79
scrape_output/list-menu-1554-page-1.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:02.340Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 1,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย นายสิทธารถ",
|
||||||
|
"date": "17 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายชื่อผู้มีสิทธิเข้ารับการสรรหาและเลือกสรรเป็นพนักงานจ้าง สังกัด เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2569 กำหนดวันเวลา สถานที่สอบ และระเบียบเกี่ยวกับการสอบ",
|
||||||
|
"date": "9 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน รายนางสาวมาลานี อลิซาเบธ มูน",
|
||||||
|
"date": "9 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง บัญชีรายการที่ดินและสิ่งปลูกสร้าง",
|
||||||
|
"date": "3 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง ขยายกำหนดเวลาดำเนินการตามพระราชบัญญัติภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ. 2562 ประจำปี พ.ศ. 2569",
|
||||||
|
"date": "3 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย นายปราซันท์ เวททริเวล",
|
||||||
|
"date": "28 พ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้าง ประจำปีงบประมาณ พ.ศ. 2569",
|
||||||
|
"date": "14 พ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย ลีบีเตอร์ แอนโทนี่",
|
||||||
|
"date": "6 พ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย นายมัททีอัส เคิคเคอะ",
|
||||||
|
"date": "30 ต.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง หลักเกณฑ์การยืมครุภัณฑ์ทางการแพทย์ของเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "16 ต.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-10.json
Normal file
79
scrape_output/list-menu-1554-page-10.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:16.107Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 10,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิเข้ารับการคัดเลือกกรณีที่มีเหตุพิเศษที่ไม่จำเป็นต้องสอบแข่งขัน",
|
||||||
|
"date": "6 ก.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการสรรหาและเลือกสรรบุคคลเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป สังกัด เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ 2567 ครั้งที่ 5",
|
||||||
|
"date": "28 ส.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "สำนักงานทางหลวงชนบทที่ 1 (ปทุมธานี) ดำเินโครงการงานปรับปรุงทาง เพื่อความปลอดภัย ถนนสาย ปท.3071",
|
||||||
|
"date": "26 ส.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อพนักงานดีเด่น ประจำปีงบประมาณ พ.ศ. 2567",
|
||||||
|
"date": "23 ส.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "19 ส.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิเข้ารับการสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป สังกัด เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ 2567 ครั้งที่ 5 กำหนดวันเวลา สถานที่สอบ และระเบียบเกี่ยวกับการสอบ",
|
||||||
|
"date": "19 ส.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครคัดเลือกกรณีที่มีเหตุพิเศษที่ไม่จำเป็นต้องสอบแข่งขันเพื่อบรรจุและแต่งตั้งบุคคลเข้ารับราชการเป็นพนักงานเทศบาล สังกัด เทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "14 ส.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง การรับโอนพนักงานเทศบาล ข้าราชการ และพนักงานส่วนท้องถิ่นเพื่อแต่งตั้งให้ดำรงตำแหน่งบริหารที่ว่างของเทศบาล กรณีเกษียณอายุราชการ",
|
||||||
|
"date": "2 ส.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการพัฒนาศักยภาพกลุ่มสตรี",
|
||||||
|
"date": "2 ส.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการสรรหาและเลือกสรรบุคคลเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป สังกัด เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ 2567 ครั้งที่ 4",
|
||||||
|
"date": "30 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/10"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-11.json
Normal file
79
scrape_output/list-menu-1554-page-11.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:17.841Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 11,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2567 ครั้งที่ 5",
|
||||||
|
"date": "25 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3316/pics_topic_3316_thumbnail.png",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการเสริมสร้างและพัฒนาศักยภาพความแข้มแข็งของผู้สูงอายุและเครือข่ายชมรมผู้สุงอายุตำบลลาดสวาย ประจำปีงบประมาณ พ.ศ.2567",
|
||||||
|
"date": "19 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิเข้ารับการสรรหาและเลือกสรร เป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป สังกัด เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ 2567 ครั้งที่ 4",
|
||||||
|
"date": "17 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อคนต่างด้าวเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "15 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การจดทะเบียนองค์กรเอกชนหรือองค์กรชุมชนด้านการพัฒนาเด้กและเยาวชน",
|
||||||
|
"date": "8 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3306/pics_topic_3306_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อคนต่างด้าวเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "3 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2567 ครั้งที่ 4",
|
||||||
|
"date": "27 มิ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้ผ่านการคัดเลือกกรณีที่มีเหตุพิเศษที่ไม่จำเป็นต้องสอบแข่งขัน ตำแหน่งทันตแพทย์ ระดับปฏิบัติการ",
|
||||||
|
"date": "27 มิ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้ผ่านการคัดเลือกกรณีที่มีเหตุพิเศษที่ไม่จำเป็นต้องสอบแข่งขัน สังกัด เทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "21 มิ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิเข้ารับการคัดเลือกกรณีที่มีเหตุพิเศษที่ไม่จำเป็นต้องสอบแข่งขัน ตำแหน่งทันตแพทย์ ระดับปฏิบัติการ กรณีนักศึกษาทันตแพทย์ผู้ทำสัญญาชดใช้ทุนฯ",
|
||||||
|
"date": "19 มิ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/11"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-12.json
Normal file
79
scrape_output/list-menu-1554-page-12.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:19.369Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 12,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการว่าด้วยฉลาก",
|
||||||
|
"date": "12 มิ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้มีสิทธิเข้ารับการคัดเลือก วัน เวลา และสถานที่คัดเลือกในกรณีที่มีเหตุพิเศษที่ไม่จำเป็นต้องสอบแข่งขันเพื่อบรรจุและแต่งตั้งบุคคลเข้ารับราชการเป็นพนักงานเทศบาล",
|
||||||
|
"date": "5 มิ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครคัดเลือกในกรณีที่มีเหตุพิเศษฯ ในตำแหน่งทันตแพทย์ ระดับปฏิบัติการ (กรณีนักศึกษาทันตแพทย์ผู้ทำสัญญาฯ เพื่อปฏิบัติงานชดใช้ทุน) รอบพิเศษ",
|
||||||
|
"date": "27 พ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผู้อำนวยการการเลือกตั้งประจำองค์การบริหารส่วนจังหวัดปทุมธานี เรื่อง ให้มีการเลือกตั้งนายกองค์การบริหารส่วนจังหวัดปทุมธานี",
|
||||||
|
"date": "13 พ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3263/pics_topic_3263_thumbnail.jpg",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครคัดเลือกกรณีที่มีเหตุพิเศษที่ไม่จำเป็นต้องสอบแข่งขัน เพื่อบรรจุและแต่งตั้งบุคคลเข้ารับราชการเป็นพนักงานเทศบาล สังกัด เทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "1 พ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญชวนเด็กและเยาวชน เข้าร่วมโครงการพัฒนาศักยภาพเด็กและเยาวชน ประจำปี 2567",
|
||||||
|
"date": "11 เม.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3202/pics_topic_3202_thumbnail.png",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศไม่มีผู้สมัครเพื่อเป็นคณะกรรมการมาตรฐานจริยธรรมประจำเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "3 เม.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้สมัครเข้าร่วมโครงการวิ่งเพื่อสุขภาพ",
|
||||||
|
"date": "20 มี.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครบุคคลเป็นคณะกรรมการมาตรฐานจริยธรรมประจำองค์กรปกครองส่วนท้องถิ่น",
|
||||||
|
"date": "18 มี.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญร่วมโครงการสืบสานประเพณีสงกรานต์ ประจำปี 2567",
|
||||||
|
"date": "8 มี.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3177/pics_topic_3177_thumbnail.jpg",
|
||||||
|
"sourcePage": 12,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/12"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-13.json
Normal file
79
scrape_output/list-menu-1554-page-13.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:21.297Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 13,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "เชิญชวนสตรีที่มีคุณสมบัติเข้ารับการคัดเลือกและเสนอชื่อเป็น สตรีไทยดีเด่น ประจำปี 2567",
|
||||||
|
"date": "1 มี.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศบัญชีรายชื่อผู้ผ่านการคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2567 ครั้งที่ 3",
|
||||||
|
"date": "27 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศบัญชีรายชื่อผู้ผ่านการคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2567 ครั้งที่ 3",
|
||||||
|
"date": "27 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้ผ่านการคัดเลือกกรณีที่มีเหตุพิเศษที่ไม่จำเป็นต้องสอบแข่งขัน ตำแหน่งทันตแพทย์ ระดับปฏิบัติการ",
|
||||||
|
"date": "23 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศรายชื่อนักเรียนที่มีสิทธิ์เข้าศึกษา สถานศึกษาสังกัดเทศบาลเมืองลาดสวาย ประจำปีการศึกษา 2567",
|
||||||
|
"date": "23 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3166/pics_topic_3166_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอนพนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "20 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป ประจำปีงบประมาณ พ.ศ.2567 ครั้งที่ 3",
|
||||||
|
"date": "15 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง การประกวดราคาอิเล็กทรอนิกส์ (e-bidding)",
|
||||||
|
"date": "14 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง การประกวดราคาอิเล็กทรอนิกส์ (e-bidding)",
|
||||||
|
"date": "14 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง การประกวดราคาอิเล็กทรอนิกส์ (e-bidding)",
|
||||||
|
"date": "14 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 13,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/13"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-14.json
Normal file
79
scrape_output/list-menu-1554-page-14.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:23.111Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 14,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิเข้ารับการคัดเลือกกรณีที่มีเหตุพิเศษที่ไม่จำเป็นต้องสอบแข่งขัน ตำแหน่งทันตแพทย์ ระดับปฏิบัติการ กรณีนักศึกษาทันตแพทย์ผู้ทำสัญญาชดใช้ทุนฯ",
|
||||||
|
"date": "12 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง การขายทอดตลาดถังน้ำบาดาล ถังสูง หมู่ที่ 9 (ด้วยการขาย โดยวิธีขายทอดตลาด)",
|
||||||
|
"date": "9 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง การขายทอดตลาดถังน้ำบาดาล ถังสูง หมู่ที่ 11 (ด้วยการขาย โดยวิธีขายทอดตลาด)",
|
||||||
|
"date": "9 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง การขายทอดตลาดเครื่องออกกำลังกายกลางแจ้ง (โดยวิธีขายทอดตลาด)",
|
||||||
|
"date": "9 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แผนป้องกันและแก้ไขภาวะน้ำแล้ง_บางปะกง",
|
||||||
|
"date": "6 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักงานทรัพยากรน้ำแห่งชาติ ภาค 2 เรื่อง ขอเชิญชวนประชาชนแสดงข้อคิดเห็นต่อโครงการทบทวนแผนป้องกันและแก้ไขภาวะน้ำแล้งและแผนป้องกันและแก้ไขภาวะน้ำท่วมลุ่มน้ำบางปะกง",
|
||||||
|
"date": "6 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักงานทรัพยากรน้ำแห่งชาติ เรื่อง ขอเชิญชวนประชาชนแสดงข้อคิดเห็นต่อผังน้ำ ลุ่มแม่น้ำบางประกง (เพิ่มเติม)",
|
||||||
|
"date": "6 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญสมัครเข้าร่วมการแข่งขันกีฬาเปตอง ประจำปีงบประมาณ 2567 โครงการกีฬาต้านยาเสพติด",
|
||||||
|
"date": "2 ก.พ. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2567 ครั้งที่ 3",
|
||||||
|
"date": "31 ม.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการประกวดสื่อสร้างสรรค์รณรงค์การบริหารจัดการขยะ",
|
||||||
|
"date": "31 ม.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 14,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/14"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-15.json
Normal file
79
scrape_output/list-menu-1554-page-15.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:24.701Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 15,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "กรมอุตุฯ เตือน 24-27 มกราคม 2567 อากาศแปรปรวน มรสุม ฝนตกหนัก",
|
||||||
|
"date": "26 ม.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3059/pics_topic_3059_thumbnail.jpg",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง การประกวดราคาอิเล็กทรอนิกส์ (e-bidding)",
|
||||||
|
"date": "25 ม.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง การประกวดราคาอิเล็กทรอนิกส์ (e-bidding)",
|
||||||
|
"date": "24 ม.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2567 ครั้งที่3",
|
||||||
|
"date": "24 ม.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครคัดเลือกในกรณีที่มีเหตุพิเศษฯ ในตำแหน่งทันตแพทย์ ระดับปฏิบัติการ (กรณีนักศึกษาทันตแพทย์ผู้ทำสัญญาฯ เพื่อปฏิบัติงานชดใช้ทุน)",
|
||||||
|
"date": "18 ม.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เทศบาลเมืองลาดสวาย ขอเชิญท่านทีมีอายุ 60 ปี ขึ้นไปตรวจสุขภาพประจำปี",
|
||||||
|
"date": "16 ม.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3044/pics_topic_3044_thumbnail.jpg",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศหยุดจ่ายน้ำชั่วคราว",
|
||||||
|
"date": "16 ม.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3043/pics_topic_3043_thumbnail.jpg",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "22 ธ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองล่าดสวาย เรื่อง การรับสมัครนักเรียน ประจำปีการศึกษา 2567",
|
||||||
|
"date": "20 ธ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3014/pics_topic_3014_thumbnail.png",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "สรุปสาระสำคัญมาตรการกำกับดูแลสินค้าน้ำตาลทราย เพิ่มเติม",
|
||||||
|
"date": "19 ธ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 15,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/15"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-16.json
Normal file
79
scrape_output/list-menu-1554-page-16.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:26.641Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 16,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "14 ธ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "สำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เปิดให้บริการประชาชนในช่วงเทศกาลปีใหม่",
|
||||||
|
"date": "7 ธ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2972/pics_topic_2972_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอความอนุเคราะห์ร่วมแสดงความคิดเห็นต่อร่างกฎกระทรวงกำหนดให้พื้นที่ป่าชายเลนในจังหวัดชลบุรี จังหวัดระยอง และจังหวัดฉะเชิงเทรา เป็นพื้นที่ป่าชายเลนอนุรักษ์ พ.ศ....",
|
||||||
|
"date": "4 ธ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายงานผลการติดตามและแบบประเมินผลแผนพัฒนาท้องถิ่น (พ.ศ. 2566 -2570) ของเทศบาลเมืองคูคต ประจำปี พ.ศ. 2566",
|
||||||
|
"date": "4 ธ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เทศบาลเมืองลาดสวาย อำนวยความสะดวกให้แก่ประชาชน โดยนำระบบร้องทุกข์ ร้องเรียน ผ่านระบบไลน์ Official Account",
|
||||||
|
"date": "1 ธ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2957/pics_topic_2957_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2567 ครั้งที่ 2",
|
||||||
|
"date": "28 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2567",
|
||||||
|
"date": "28 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2567",
|
||||||
|
"date": "28 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แจ้งช่องทางอิเล็กทรอนิกส์สำหรับติดต่อหน่วยงาน",
|
||||||
|
"date": "24 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญร่วมส่งแผนงาน/โครงการ/กิจกรรม กองทุนฟื้นฟูสมรรถภาพ จังหวัดปทุมธานี ประจำปีงบประมาณ 2567",
|
||||||
|
"date": "24 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 16,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/16"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-17.json
Normal file
79
scrape_output/list-menu-1554-page-17.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:28.163Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 17,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการกลางว่าด้วยสินค้าและบริการ ฉบับที่ 67 พ.ศ. 2566 เรื่องการกำหนดสินค้าควบคุมเพิ่มเติม",
|
||||||
|
"date": "24 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2941/pics_topic_2941_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แจ้งเปลี่ยนเบอร์โทรศัพท์ งานป้องกันบรรเทาป้องกันและบรรเทาสาธารณภัย จากหมายเลข 02-1987101 เป็นหมายเลข",
|
||||||
|
"date": "24 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2849/pics_topic_2849_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักงานที่ดินจังหวัดปทุมธานี ส่าขาลำลูกกา เรื่อง เงินมัดจำรังวัดค้างบัญชีเกิน 5 ปี",
|
||||||
|
"date": "22 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พยากรณ์ฝนสะสมรายวัน (ทุกๆ 24 ชม.:(นับตั้งแต่ 07.00น. ถึง 07.00น.วันรุ่งขึ้น) 10 วันล่วงหน้า ระหว่าง 19-28 พ.ย.66 อัพเดท 2023111812 จากศูนย์พยากรณ์อากาศระยะกลางยุโรป (ECMWF) : มาแล้วอากาศเย็นถึงหนาว",
|
||||||
|
"date": "21 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2935/pics_topic_2935_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป ประจำปีงบประมาณ พ.ศ. 2567",
|
||||||
|
"date": "17 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การขยายกำหนดเวลาดำเนินการตามพระราชบัญญัติภาษีที่ดินและสิ่งปลูกสร้างพ.ศ 2562 ประจำปี พ.ศ 2567",
|
||||||
|
"date": "15 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2918/pics_topic_2918_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ร่วมลงนามบันทึกความเข้าใจความร่วมมือทางวิชาการ วิจัย เพื่อพัฒนาศักยภาพบุคลากรและระบบการให้บริการ สุขภาพร่วมกัน",
|
||||||
|
"date": "13 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2914/pics_topic_2914_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "มาตรการในการป้องปรามการแอบอ้างเป็นศูนย์ดำรงธรรม",
|
||||||
|
"date": "13 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "7 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การสำรวจข้อมูลเกี่ยวกับโครงการ ''ไฟฟ้าเพื่อเกษตรกร'' และ ไฟฟ้าชุมชน",
|
||||||
|
"date": "7 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2904/pics_topic_2904_thumbnail.jpg",
|
||||||
|
"sourcePage": 17,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/17"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-18.json
Normal file
79
scrape_output/list-menu-1554-page-18.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:29.640Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 18,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศ เนื่องจากในพื้นที่ของเทศบาลเมืองลาดสวายมีโครงการก่อสร้างขององค์การบริหารส่วนจังหวัดปทุมธานีโครงการซ่อมแซมถนนคอนกรีตเสริมเหล็กสายเลียบคลองสาม ฝั่งตะวันออก",
|
||||||
|
"date": "3 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2898/pics_topic_2898_thumbnail.png",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "คำแนะนำสำหรับประชาชนในการป้องกันไข้เลือดออก",
|
||||||
|
"date": "2 พ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2886/pics_topic_2886_thumbnail.jpg",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย ขณะนี้สะพานข้ามคลองห้า (สะพานที่1) หมู่ที่ 1 ตำบลลาดสวาย อำเภอลำลูกกา จังหวัดปทุมธานี เชื่อมต่อระหว่างถนนเลียบคลองห้าฝั่งตะวันตก สามารถใช้สัญจรได้แล้ว โดยจำกัดความสูงของรถยนต์ไม่เกิน 2.50 เมตร",
|
||||||
|
"date": "31 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2884/pics_topic_2884_thumbnail.png",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับสมัครบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2567 ครั้งที่ 2",
|
||||||
|
"date": "31 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับสมัครบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2567",
|
||||||
|
"date": "27 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กิจกรรมนัดทิ้งนัดเก็บขยะชิ้นใหญ่ เทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "19 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2864/pics_topic_2864_thumbnail.jpg",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ประกาศวัน เวลาสถานที่ตรวจเลือกทหารกองเกินเข้ารับราชการทหารกองประจำการ ประจำปี 2567",
|
||||||
|
"date": "18 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศให้ทหารกองเกินรับหมายเรียก ประจำปี 2566",
|
||||||
|
"date": "18 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอนพนักงานครูเทศบาล",
|
||||||
|
"date": "16 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ช่องทางอิเล็กทรอนิกส์สำหรับติดต่อเทศบาลเมืองลาดสวาย พ.ศ. 2566",
|
||||||
|
"date": "10 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 18,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/18"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-19.json
Normal file
79
scrape_output/list-menu-1554-page-19.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:31.247Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 19,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศให้ชายสัญชาติไทยลงบัญชีทหารกองเกิน ประจำปี 2566",
|
||||||
|
"date": "7 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พายุไต้ฝุ่น “โคอินุ”",
|
||||||
|
"date": "6 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2832/pics_topic_2832_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "6 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "4 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอนพนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "2 ต.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ ฝนตกหนักถึงหนักมาก และลมกระโชกแรงบางแห่ง ในช่วงวันที่ 25-30ก.ย.2566 อาจทำให้น้ำท่วมฉับพลัน และน้ำป่าไหลหลาก",
|
||||||
|
"date": "24 ก.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2813/pics_topic_2813_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เทศบาลเมืองลาดสวายผ่านเกณฑ์การพิจารณาจากองค์การบริหารจัดการก๊าซเรือนกระจก(องค์การมหาชน) เพื่อเข้าร่วมโครงการ GCF Readiness and Preparatary Support Programme Developing GCF pipeline of projects from locally-driven climate action ระยะที่ 2",
|
||||||
|
"date": "22 ก.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2811/pics_topic_2811_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "15 ก.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2567",
|
||||||
|
"date": "14 ก.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์หนังสือคู่มือการดำเนินคดีปกครองสำหรับประชาชนในรูปแบบคิวอาร์โค๊ด",
|
||||||
|
"date": "12 ก.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 19,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/19"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-2.json
Normal file
79
scrape_output/list-menu-1554-page-2.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:03.886Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 2,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "เรื่อง แจ้งการประเมินเพื่อเสียภาษีที่ดินและสิ่งปลูกสร้าง ประจำปีภาษี พ.ศ.2568",
|
||||||
|
"date": "24 ก.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย ติน ติน เอย์",
|
||||||
|
"date": "23 ก.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย นายวีระ วัฒกวณิชย์",
|
||||||
|
"date": "15 ก.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อพนักงานดีเด่น ประจำปีงบประมาณ พ.ศ. 2568",
|
||||||
|
"date": "8 ก.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย นางเล่าร่า คอนติ",
|
||||||
|
"date": "3 ก.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย นายจอโจร์ เดซีเดรี",
|
||||||
|
"date": "3 ก.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย นางซิวเซียง แซ่หย่าง",
|
||||||
|
"date": "16 ส.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอประชาสัมพันธ์เข้าร่วมกิจกรรม KM Online ผ่านสื่ออิเล็กทรอนิกส์ (Zoom และ Youtube Live) ที่ทำงาน ก.พ.ร. ร่วมกับกระทรวงมหาดไทยเร่งขับเคลื่อนนโยบายสำคัญ",
|
||||||
|
"date": "15 ส.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอประชาสัมพันธ์ให้ข้าราชการและเจ้าหน้าที่ในสังกัดทราบ เรื่อง กรมโรงงานอุตสาหกรรมได้มีการปรับเปลี่ยนแบบคำขอมีบัตรประจำตัวพนักงานเจ้าหน้าที่",
|
||||||
|
"date": "5 ส.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศอำเภอลำลูกกา เรื่อง การขึ้นบัญชีรายชื่อบุคคลผู้ทำหน้าที่ไกล่เกลี่ยและประนอมข้อพิพาททางแพ่ง",
|
||||||
|
"date": "5 ส.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-20.json
Normal file
79
scrape_output/list-menu-1554-page-20.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:32.741Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 20,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์มาตรการเฝ้าระวังและผลกระทบต่อสุขภาพจากไข้หวัดใหญ่",
|
||||||
|
"date": "12 ก.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง มาตรการในการป้องกันและแก้ไขปัญหาสถานการณ์ฝุ่นละอองขนาดเล็ก PM2.5",
|
||||||
|
"date": "8 ก.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง เชิญชวนประชาชนเข้าร่วมโครงการจัดตั้งศูนย์การเรียนรู้เศรษฐกิจพอเพียง",
|
||||||
|
"date": "6 ก.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "4 ก.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "25 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "25 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แนวทางการให้บริการของศูนย์ตอบปัญหางานทะเบียนและบัตร Call Center 1548",
|
||||||
|
"date": "24 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อพนักงานดีเด่น ประจำปีงบประมาณ พ.ศ. 2566",
|
||||||
|
"date": "22 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "22 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป ประจำปีงบประมาณ พ.ศ. 2566",
|
||||||
|
"date": "21 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 20,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-21.json
Normal file
79
scrape_output/list-menu-1554-page-21.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:34.319Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 21,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รายงานผลการประเมินมาตรฐานขั้นต่ำ การจัดบริการสาธารณะ ประจำปี พ.ศ.2566 ของเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "16 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการสนับสนุนการจัดการศพผู้สูงอายุตามประเพณี",
|
||||||
|
"date": "8 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "\"ขอเชิญชวนร่วมบริจาคโลหิตเพื่อถวายเป็นพระราชกุศล\"",
|
||||||
|
"date": "7 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2699/pics_topic_2699_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "3 ส.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "27 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ พ.ศ.2566",
|
||||||
|
"date": "24 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับโอนพนักงานครูเทศบาล",
|
||||||
|
"date": "18 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเตือนจากกองอำนวยการป้องกันและบรรเทาสาธารณภัยจังหวัดปทุมธานี",
|
||||||
|
"date": "15 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2671/pics_topic_2671_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "13 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หมดกังวลการนำสายไฟฟ้าลงใต้ดิน หากเกิดน้ำท่วม จะช็อตคนบนพื้นดินหรือไม่",
|
||||||
|
"date": "10 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2643/pics_topic_2643_thumbnail.jpg",
|
||||||
|
"sourcePage": 21,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/21"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-22.json
Normal file
79
scrape_output/list-menu-1554-page-22.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:35.813Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 22,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "6 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์เชิญชวนเข้าร่วมการประกวดสร้างสรรค์โปรแกรมการท่องเที่ยว \"แพลนทริปเที่ยวถิ่นบัวหลวง\"",
|
||||||
|
"date": "5 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การรับสมัครนักศึกษาใหม่ ของมหาวิทยาลัยรามคำแหง",
|
||||||
|
"date": "5 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เผยแพร่ประกาศเพิ่มชื่อบุคคลสัญชาติไทยที่เกิดในต่างประเทศ",
|
||||||
|
"date": "5 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ท่านสามารถตรวจสอบสิทธิเลือกตั้งท้องถิ่น ได้ที่ https://stat.bora.dopa.go.th/Election/enqelectloc/#/",
|
||||||
|
"date": "4 ก.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2619/pics_topic_2619_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การจำหน่ายวารสารวิชาการศาลปกครอง ประจำปี พ.ศ. 2566",
|
||||||
|
"date": "30 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เผยแพร่ประกาศเพิ่มชื่อบุคคลสัญชาติไทยที่เกิดในต่างประเทศ",
|
||||||
|
"date": "20 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เผยแพร่ประกาศเพิ่มชื่อคนสัญชาติไทยที่เกิดในต่างประเทศโดยมีหลักฐานการเกิดเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "20 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง แจ้งเตือนประชาชนให้ระมัดระวังกลุ่มมิจฉาชีพที่แอบอ้างหลอกลวงทำธุรกรรมชำระภาษีที่ดินและสิ่งปลูกสร้าง",
|
||||||
|
"date": "15 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แบบสำรวจความพึงพอใจของประชาชนต่อการบริการตามคู่มือสำหรับประชาชน ปี พ.ศ. 2566",
|
||||||
|
"date": "15 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 22,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/22"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-23.json
Normal file
79
scrape_output/list-menu-1554-page-23.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:37.307Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 23,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ข้อมูลถุงลมนิรภัยไม่ปลอดภัยเื่อคุ้มครองสิทธิผู้บริโภค",
|
||||||
|
"date": "15 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์คู่มือแนวทางการประเมินความเสี่ยงการทุจริต ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "15 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์กฎหมายที่เกี่ยวข้องกับการกระจายอำนาจให้แก่องค์กรปกครองส่วนท้องถิ่น",
|
||||||
|
"date": "14 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์เข้ารับฝึกอบรมหลักสูตร \"การจัดทำงบประมาณรายจ่ายประจำปี พ.ศ. 2567\"",
|
||||||
|
"date": "13 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์หลักเกณฑ์การพิจารณารางวัลการส่งเสริมการออม และโครงการประกวดแต่งเพลง \"ออมกับ กอช\"",
|
||||||
|
"date": "13 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เชิญชวนเข้าร่วมการประกวดภาพถ่าย \"จังหวัดปทุมธานีเมืองน่าเที่ยว\"",
|
||||||
|
"date": "12 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอความอนุเคราะห์ประชาสัมพันธ์การลงทะเบียนใช้งานแอฟพลิเคชั่น ''ThaID''",
|
||||||
|
"date": "6 มิ.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างภารกิจ ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "31 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "31 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "สายด่วน สปสช. 1330”",
|
||||||
|
"date": "30 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2500/pics_topic_2500_thumbnail.jpg",
|
||||||
|
"sourcePage": 23,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/23"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-24.json
Normal file
79
scrape_output/list-menu-1554-page-24.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:38.870Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 24,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "26 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรียนรู้ ความรู้ บทความที่เกี่ยวกับ ''ป่าชุมชน''",
|
||||||
|
"date": "25 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2495/pics_topic_2495_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เทศบาลเมืองลาดสวาย ขอเชิญผู้ประกอบการจำหน่ายอาหารและน้ำเข้าร่วมโครงการพัฒนาศักยภาพในงานสุขาภิบาลอาหาร",
|
||||||
|
"date": "23 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2486/pics_topic_2486_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์เตือนภัยเรื่องเพจ Facebook ชื่อ \"ศูนย์ดำรงธรรม\"",
|
||||||
|
"date": "23 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์โครงการอบรมระบบ Local MOOC",
|
||||||
|
"date": "23 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์สื่อสร้างการรับรู้เพื่อป้องกันยาเสพติด",
|
||||||
|
"date": "23 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "สถานการณ์ผู้ติดเชื้อโควิด 19 รายสัปดาห์",
|
||||||
|
"date": "16 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2461/pics_topic_2461_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การจัดตั้งศูนย์การเรียนรู้ชุมชนจัดการขยะอินทรีย์และขยะเปียก",
|
||||||
|
"date": "12 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญเข้าร่วมกิจกรรมมหกรรมรวมพลังรักษาสิ่งแวดล้อม ตามโครงการรักษาสิ่งแวดล้อม ปี 2566",
|
||||||
|
"date": "10 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "9 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 24,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/24"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-25.json
Normal file
79
scrape_output/list-menu-1554-page-25.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:40.653Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 25,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "หน่วยเลือกตั้งสมาชิกสภาผู้แทนราษฎร เขตเลือกตั้งที่ 6 ในเขตเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "9 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ข้อมูลความรู้เกี่ยวกับการเลือกตั้งสมาชิกสภาผู้แทนราษฎรเป็นการทั่วไป พ.ศ. 2566",
|
||||||
|
"date": "3 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ตรวจสอบรายชื่อผู้มีสิทธิเลือกตั้งสมาชิกสภาผู้แทนราษฎรเป็นการทั่วไป พ.ศ. 2566",
|
||||||
|
"date": "3 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับโอนพนักงานเทศบาลสายงานผู้บริหาร ตำแหน่ง หัวหน้าฝ่ายแบบแผนและก่อสร้าง",
|
||||||
|
"date": "1 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "1 พ.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอความร่วมมือประชาชน ผู้ประกอบการ ร้านค้า หน่วยงานภาครัฐและภาคเอกชน ร่วมตอบแบบวัดการรับรู้ของผู้มีส่วนได้ส่วนเสียภายนอกของเทศบาลเมืองลาดสวาย พ.ศ. 2566 (External Integrity and Transparency Assessment : EIT)",
|
||||||
|
"date": "28 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2400/pics_topic_2400_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เปิดลงทะเบียนขอใช้สิทธิ์ออกเสียงลงคะแนนสำหรับผู้ได้รับคำสั่งแต่งตั้งให้เป็นเจ้าพนักงานผู้ดำเนินการเลือกตั้งหรือให้ปฏิบัติหน้าที่เกี่ยวกับการเลือกตั้ง",
|
||||||
|
"date": "26 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2343/pics_topic_2343_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การตรวจสอบสิทธิการเลือกตั้งสมาชิกสภาผู้แทนราษฎร (ส.ส.)",
|
||||||
|
"date": "21 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2293/pics_topic_2293_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "7. ห้ามทำให้บัตรเลือกตั้งชำรุดเสียหาย หรือทำบัตรเสียให้เป็นบัตรที่ใช้ได้",
|
||||||
|
"date": "18 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2279/pics_topic_2279_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รู้จักบัตรเลือกตั้ง 2 ใบก่อนเข้าคูหาเลือกตั้ง",
|
||||||
|
"date": "18 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2275/pics_topic_2275_thumbnail.jpg",
|
||||||
|
"sourcePage": 25,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/25"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-26.json
Normal file
79
scrape_output/list-menu-1554-page-26.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:42.189Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 26,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "มาตรการป้องกันโควิด 19 ช่วงสงกรานต์",
|
||||||
|
"date": "12 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2270/pics_topic_2270_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "???? จังหวัดปทุมธานีเตือน 7 ข้อ เช็กตัวเองให้พร้อม ก่อนขับรถทางไกล ????",
|
||||||
|
"date": "12 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2265/pics_topic_2265_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การเกิดโรคพิษสุนัขบ้า",
|
||||||
|
"date": "10 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2244/pics_topic_2244_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญร่วมกิจกรรมประเพณีสงกรานต์ ณ วัดกลางคลองสี่และวักคลองชัน",
|
||||||
|
"date": "8 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2433/pics_topic_2433_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หนีไข้เลือดออก",
|
||||||
|
"date": "7 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2233/pics_topic_2233_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กองจัดการคุณภาพอากาศและเสียง กรมควบคุมมลพิษ ขอรายงานผลการคาดการณ์สถานการณ์ฝุ่นละอองขนาดเล็กในพื้นที่กรุงเทพและปริมณฑล ระหว่างวันที่ 7 ถึง 13 เมษายน 2566",
|
||||||
|
"date": "6 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2229/pics_topic_2229_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศกรมอุตุนิยมวิทยา เรื่อง พายุฤดูร้อนบริเวณประเทศไทยตอนบน ฉบับที่ 2 (92/2566) (มีผลกระทบตั้งแต่วันที่ 6 - 9 เมษายน 2566)",
|
||||||
|
"date": "5 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2218/pics_topic_2218_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเรียนเชิญทุกท่าน เข้าร่วมการประชุมสรุปผลการศึกษาโครงการ (สัมมนา ครั้งที่ 3)",
|
||||||
|
"date": "5 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2214/pics_topic_2214_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายงานสถานการณ์คุณภาพอากาศจังหวัดปทุมธานี",
|
||||||
|
"date": "5 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2212/pics_topic_2212_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แบบกำหนดสถานที่ติดแผ่นป้ายหาเสียง",
|
||||||
|
"date": "4 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 26,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/26"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-27.json
Normal file
79
scrape_output/list-menu-1554-page-27.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:43.506Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 27,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ช่วยกัน ลด - คัด - แยกขยะ อย่างถูกต้อง",
|
||||||
|
"date": "4 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2205/pics_topic_2205_thumbnail.jpg",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ใช้น้ำอย่างประหยัดด้วยหลัก 3 R",
|
||||||
|
"date": "4 เม.ย. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2204/pics_topic_2204_thumbnail.png",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ต้องช่วยอย่างไร เมื่อเจอคนใกล้ๆ เป็นฮีทสโตรก",
|
||||||
|
"date": "31 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2200/pics_topic_2200_thumbnail.jpg",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายงานสถานการณ์คุณภาพอากาศจังหวัดปทุมธานี",
|
||||||
|
"date": "31 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2198/pics_topic_2198_thumbnail.jpg",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กองจัดการคุณภาพอากาศและเสียง กรมควบคุมมลพิษ ขอรายงานผลการคาดการณ์สถานการณ์ฝุ่นละอองขนาดเล็กในพื้นที่กรุงเทพและปริมณฑล ระหว่างวันที่ 1 ถึง 7 เมษายน 2566",
|
||||||
|
"date": "31 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2192/pics_topic_2192_thumbnail.jpg",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ภาพรวมปริมาณ PM2.5 ในประเทศพบเกินค่ามาตรฐานใน จ.เชียงราย จ.เชียงใหม่ จ.น่าน จ.แม่ฮ่องสอน จ.ลำพูน จ.ลำปาง จ.แพร่ จ.สุโขทัย จ.ตาก จ.กำแพงเพชร จ.หนองคาย จ.เลย และ จ. นครพนม",
|
||||||
|
"date": "31 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2190/pics_topic_2190_thumbnail.jpg",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "จังหวัดนครนายก ประกาศเขตพื้นที่ประสบสาธารณภัย/เขตการให้ความช่วยเหลือผู้ประสบภัยพิบัติกรณีฉุกเฉิน กรณีเหตุอัคคีภัย (ไฟป่า)ในพื้นที่ อ.เมืองนครนายก",
|
||||||
|
"date": "31 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2187/pics_topic_2187_thumbnail.jpg",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เทศบาลเมืองลาดสวายลงพื้นที่แก้ไขความเดือดร้อนให้แก่ประชาชน",
|
||||||
|
"date": "30 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2195/pics_topic_2195_thumbnail.jpg",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างผู้เชี่ยวชาญพิเศษ ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "30 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "30 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 27,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/27"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-28.json
Normal file
79
scrape_output/list-menu-1554-page-28.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:45.077Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 28,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศ บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "30 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กรมที่ดินเตือนภัยระวังเว็บไซต์ปลอม เว็บไซต์จริงต้อง www.dol.go.th เท่านั้น",
|
||||||
|
"date": "30 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2172/pics_topic_2172_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เตือนภัยหลอกลวงติดตั้ง Application PEA Smart Plus",
|
||||||
|
"date": "29 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2168/pics_topic_2168_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายงานสถานการณ์คุณภาพอากาศจังหวัดปทุมธานี",
|
||||||
|
"date": "29 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2166/pics_topic_2166_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การไฟฟ้าส่วนภูมิภาค ขอดับไฟฟ้าเพื่อปรับปรุงระบบจำหน่ายแก้ไขแรงดันตก",
|
||||||
|
"date": "29 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "???? ENGY อยากเล่า ⚡ ❄ \" เปิดแอร์อย่างไร ให้เย็นชื่นใจ เห็นค่าไฟแล้วไม่หนาว \" ✨",
|
||||||
|
"date": "28 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2153/pics_topic_2153_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การลงทะเบียนขอใช้สิทธิเลือกตั้งล่วงหน้า",
|
||||||
|
"date": "27 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2158/pics_topic_2158_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การประปาส่วนภูมิภาคสาขารังสิต (พ) หยุดจ่ายน้ำ",
|
||||||
|
"date": "27 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2151/pics_topic_2151_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "สาระน่ารู้ 6 โทษทางกฎหมาย\" ทิ้งขยะไม่ถูกที่\"",
|
||||||
|
"date": "27 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2149/pics_topic_2149_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ปฏิทินเลือกตั้งสมาชิกสภาผู้แทนราษฎร",
|
||||||
|
"date": "27 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2147/pics_topic_2147_thumbnail.jpg",
|
||||||
|
"sourcePage": 28,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/28"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-29.json
Normal file
79
scrape_output/list-menu-1554-page-29.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:46.899Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 29,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือก พนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป และพนักงานจ้างผู้เชี่ยวชาญพิเศษ",
|
||||||
|
"date": "22 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การเปิดรับสมัครศึกษาต่อระดับปริญญาโท หลักสูตรรัฐประศาสนศาสตรมหาบัณฑิต (M.P.A)",
|
||||||
|
"date": "22 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การเปิดรับสมัครศึกษาต่อระดับปริญญาเอก หลักสูตรปรัชญาดุษฎีบัณฑิต สาขาวิชาการจัดการ",
|
||||||
|
"date": "22 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศ กำหนด วัน เวลา ทำงานของพนักงานจ้าง ตำแหน่งพนักงานขับเครื่องจักรกลขนาดเบา (รถบรรทุกขยะ) และ ตำแหน่งคนงานประจำรถขยะ",
|
||||||
|
"date": "21 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การประปาส่วนภูมิภาคสาขารังสิต ''หยุดจ่ายน้ำชั่วคราว'' วันที่ 25 -27 มีนาคม 2566",
|
||||||
|
"date": "20 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2121/pics_topic_2121_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการฝึกอบรมเพื่อพัฒนาศักยภาพผู้ประกาศข่าวสารขององค์กรปกครองส่วนท้องถิ่น จังหวัดปทุมธานี ประจำปีงบประมาณ พ.ศ. 2566",
|
||||||
|
"date": "15 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์หลักสูตรระดับปริญญาเอกและปริญญาโทของมหาวิทยาลัยเทคโนโลยีราชมงคลธัญบุรี",
|
||||||
|
"date": "14 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "10 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอนพนักงานเทศบาล สายผู้บริหาร",
|
||||||
|
"date": "9 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง มาตรการในการป้องกันและแก่ไขปัญหาสถานการร์ฝุ่นละอองขนาดเล็ก PM2.5",
|
||||||
|
"date": "9 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 29,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/29"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-3.json
Normal file
79
scrape_output/list-menu-1554-page-3.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:05.392Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 3,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย นางสาวศิญารัตน์ สิทธิเขตร์",
|
||||||
|
"date": "4 ส.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขั้นตอนการออกใบอนุญาต ก่อสร้างอาคาร",
|
||||||
|
"date": "4 ส.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอประชาสัมพันธ์หลักสูตร Smart City Skill-Up - เสริมสร้างศักยภาพพลเมืองอัจริยะของสำนักงานส่งเสริมเศรษฐกิจดิจิทัล (depa)",
|
||||||
|
"date": "30 ก.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการสรรหาและเลือกสรรบุคคลเป็นพนักงานจ้างทั่วไป",
|
||||||
|
"date": "29 ก.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการสรรหาและเลือกสรรบุคคลเป็นพนักงานจ้างตามภารกิจ",
|
||||||
|
"date": "29 ก.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้มีสิทธิเข้ารับการสรรหาและเลือกสรรเป็นพนักงานผู้สูงอายุทรงคุณวุฒิเฉพาะทาง",
|
||||||
|
"date": "25 ก.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน ราย เด็กหญิงแคทเธอรีน แอนเดรียนนาคัส",
|
||||||
|
"date": "25 ก.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการสอบแข่งขัน และขึ้นบัญชีผู้สอบแข่งขันได้เพื่อบรรจุและแต่งตั้งบุคคลภายนอก เป็นพนักงานสถานธนานุบาลเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "18 ก.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิเข้ารับการสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป สังกัดเทศบาลเมืองลาดสวายประจำปีงบประมาณ 2568",
|
||||||
|
"date": "16 ก.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครสรรหาพนักงานผู้สูงอายุทรงคุณวุฒิเฉพาะทาง",
|
||||||
|
"date": "7 ก.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/3"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-30.json
Normal file
79
scrape_output/list-menu-1554-page-30.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:48.483Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 30,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การประกวดนวัตกรรมเพื่อการพัฒนาประชาธิปไตย ปี 2566",
|
||||||
|
"date": "9 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ผู้สนใจเข้าศึกษาต่อระดับปริญญาโท หลักสูตรรัฐศาสตรมหาบัณฑิต มหาวิทยาลัยรามคำแหง",
|
||||||
|
"date": "9 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ เรื่อง แบ่งเขตเลือกตั้ง",
|
||||||
|
"date": "3 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับสมัครบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างผู้เชี่ยวชาญพิเศษ ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "2 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปี 2566",
|
||||||
|
"date": "2 มี.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อนักเรียนที่ผ่านการคัดเลือกให้เข้าเรียนในสถานศึกษาของเทศบาลเมืองลาดสวายประจำปีการศึกษา 2566",
|
||||||
|
"date": "23 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การดำเนินงานโครงการพัฒนาทักษะเฉพาะของแรงงานอิสระยุค 4.0 (Gig Worker)",
|
||||||
|
"date": "22 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายชื่อผู้ลงทะเบียนและได้รับการช่วยเหลือผู้ประสบอุทกภัยในช่วงฤดูฝน ปี 2565 เพิ่มเติม (รอบที่ 3)",
|
||||||
|
"date": "20 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญประชาชนร่วมทำแบบสอบถามการประชาคมท้องถิ่นระดับเมือง (ข้อเสนอการพัฒนาท้องถิ่นในระบบเอกสาร) เพื่อจัดทำแผนพัฒนาท้องถิ่น (พ.ศ. 2566 - 2570 ) ทบทวน ครั้งที่ 1/2566",
|
||||||
|
"date": "15 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2047/pics_topic_2047_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอให้ดำเนินการปราบปรามการกระทำความผิดเกี่ยวกับการทวงถามหนี้และปล่อยเงินกู้นอกระบบ",
|
||||||
|
"date": "9 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 30,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/30"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-31.json
Normal file
79
scrape_output/list-menu-1554-page-31.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:49.969Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 31,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง การขายทอดตลาด ครุภัณฑ์ยานพาหนะและขนส่ง จำนวน 20 รายการ",
|
||||||
|
"date": "8 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการเงินอุดหนุนเพื่อการเลี้ยงดูเด็กแรกเกิด ผ่าน (PromptPay)",
|
||||||
|
"date": "6 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การรับสมัครผู้อำนวยการการเลือกตั้งประจำเขตเลือกตั้ง และคณะกรรมการการเลือกตั้งประจำเขตเลือกตั้ง ในการเลือกตั้งสมาชิกสภาผู้แทนราษฎร แบบแบ่งเขต จังหวัดปทุมธานี",
|
||||||
|
"date": "6 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การรับฟังความคิดเห็นรูปแบบการแบ่งเขตเลือกตั้งสมาชิกสภาผู้แทนราษฎร จังหวัดปทุมธานี",
|
||||||
|
"date": "6 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญร่วมบริจาคโลหิตเพื่อถวายเป็นพระราชกุศล",
|
||||||
|
"date": "3 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์เชิญชวนผู้นำชุมชนเข้าร่วมงานศาลปกครองพบประชาชนออนไลน์ ประจำปี พ.ศ. 2566",
|
||||||
|
"date": "1 ก.พ. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายชื่อผู้ลงทะเบียนและได้รับการช่วยเหลือผู้ประสบอุทกภัยในช่วงฤดูฝน ปี 2565 เพิ่มเติม (รอบที่ 2)",
|
||||||
|
"date": "25 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการดวงตาสดใสในผุ้สูงอายุ โดยตัดแว่นสายตา",
|
||||||
|
"date": "19 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1986/pics_topic_1986_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอนพนักงานเทศบาล",
|
||||||
|
"date": "18 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เทศบาลเมืองบึงยี่โถร่วมกับเทศบาลเมืองลาดสวายขอประชาสัมพันธ์กิจกรรมงาน \" บึงยี่โถมินิมาราธอน วิ่งชมคลอง ลองเตี๋ยวเรือ \"",
|
||||||
|
"date": "16 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1982/pics_topic_1982_thumbnail.jpg",
|
||||||
|
"sourcePage": 31,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/31"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-32.json
Normal file
79
scrape_output/list-menu-1554-page-32.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:51.521Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 32,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "คำสั่งเทศบาลเมืองลาดสวาย ที่ 6/2566 เรื่อง ระบบสำหรับการปฏิบัติหน้าที่โดยวิธีการทางอิเล็กทรอนิกส์",
|
||||||
|
"date": "13 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ช่องทางอิเล็กทรอนิกส์สำหรับติดต่อเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "13 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เปิดรับลงทะเบียนขอรับการช่วยเหลือผู้ประสบอุทกภัยในช่วงฤดูฝน ปี 2565 (เพิ่มเติม) ครั้งที่ 2 ถึงวันที่ 15 มกราคม 2566 เวลา 14.00 น.",
|
||||||
|
"date": "13 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1958/pics_topic_1958_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายชื่อผู้ลงทะเบียนและได้รับการช่วยเหลือผู้ประสบอุทกภัยในช่วงฤดูฝน ปี 2565",
|
||||||
|
"date": "13 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอนพนักงานครูเทศบาล ข้าราชการหรือพนักงานครูส่วนท้องถิ่นประเภทอื่น",
|
||||||
|
"date": "11 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์เผยแพร่ เรื่อง การขออนุมัติโอนเงินงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ. 2566 ครั้งที่ 1",
|
||||||
|
"date": "9 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แจ้งประชาชนที่ลงทะเบียนและผ่านการประชาคม เพื่อรับเงินช่วยเหลือผู้ประสบอุทกภัยในช่วงฤดูฝน เปิดพร้อมเพย์",
|
||||||
|
"date": "8 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1946/pics_topic_1946_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เทศบาลเมืองลาดสวายเปิดลงทะเบียนช่วยเหลือผู้ประสบอุทกภัยในช่วงฤดูฝน ปี 2565",
|
||||||
|
"date": "5 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1925/pics_topic_1925_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ผู้ใช้รถถนนเส้นทางหลวง3312 ตอนลำลูกกา - คลอง 16 ให้หลีกเลี่ยงการใช้เส้นทางดังกล่าว",
|
||||||
|
"date": "5 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอความร่วมมือในการประชาสัมพันธ์ข้อมูลเพื่อคุ้มครองสิทธิผู้บริโภค",
|
||||||
|
"date": "4 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 32,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/32"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-33.json
Normal file
79
scrape_output/list-menu-1554-page-33.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:53.150Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 33,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับโอนพนักงานเทศบาล",
|
||||||
|
"date": "3 ม.ค. 2566",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลต่างด้าวเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "29 ธ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "29 ธ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครนักเรียน อนุบาล ๑ (อายุ ๓ ขวบ) และเตรียมอนุบาล(อายุต่ำกว่า ๓ ขวบ) ประจำปีการศึกษา ๒๕๖๖",
|
||||||
|
"date": "28 ธ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "26 ธ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แจ้งประชาสัมพันธ์ QR Code (Traffy Fondue) แจ้งเบาะแสการทุจริต ของ สำนักงาน ป.ป.ท.",
|
||||||
|
"date": "13 ธ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับโอนพนักงานเทศบาล",
|
||||||
|
"date": "2 ธ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญผู้ปกครอง เด็กและเยาวชน เข้าร่วมกิจกรรมงานวันเด็กแห่งชาติ ประจำปี 2566",
|
||||||
|
"date": "23 พ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การเผยแพร่องค์ความรู้จากงานสัมมนาทางวิชาการเพื่อแลกเปลี่ยนองค์ความรู้เกี่ยวกับการพัฒนาแหล่งท่องเที่ยวในท้องถิ่นระหว่างไทย - ญี่ปุ่น",
|
||||||
|
"date": "21 พ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แนวทางการส่งเสริมและคุ้มครองสิทธิมนุษยชน",
|
||||||
|
"date": "4 พ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 33,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/33"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-34.json
Normal file
79
scrape_output/list-menu-1554-page-34.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:54.632Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 34,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "2 พ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง สัดส่วนประชาคมท้องถิ่นระดับเมือง ปีงบประมาณ พ.ศ. 2566",
|
||||||
|
"date": "1 พ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์แผนดำเนินการโครงการฝึกอบรมของสถาบันพัฒนาบุคลากรท้องถิ่น ประจำปีงบประมาณ พ.ศ. 2566",
|
||||||
|
"date": "31 ต.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศแบบแจ้งความประสงค์ขอรับเบี้ยยังชีพผู้สูงอายุ , เบี้ยความพิการ และผู้ป่วยโรคเอดส์",
|
||||||
|
"date": "21 ต.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "27 ก.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แบบยื่นความจำนงขอรับการช่วยเหลือเกษตรกรผู้ประสบภัยพิบัติด้านพืช",
|
||||||
|
"date": "20 ก.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แบบคำร้องทั่วไปและหนังสือรับรองผู้ประสบภัยประเภทบุคคลธรรมดา",
|
||||||
|
"date": "13 ก.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประะชาสัมพันธฺ์การฝึกอบรมประจำเดือนกรกฎาคม-กันยายน 2565",
|
||||||
|
"date": "12 ก.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการอบรมเชิงปฏิบัติการ เรื่อง แนวทางการปฏิบัติตามพรบ.คุ้มครองข้อมูลส่วนบุคคล พ.ศ.2562 สำหรับอปท.(รุ่นที่ 2)",
|
||||||
|
"date": "12 ก.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "2 ก.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 34,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/34"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-35.json
Normal file
79
scrape_output/list-menu-1554-page-35.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:56.123Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 35,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "2 ก.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญร่วมประชุมแสดงความคิดเห็น เกี่ยวกับการวางและจัดทำผังรวมเมืองอำเภอลำลูกกา-บึงยี่โถ จังหวัดปทุมธานี",
|
||||||
|
"date": "1 ก.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1666/pics_topic_1666_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้าง ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "26 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ไม่มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้าง ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "26 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แผนโครงการฝึกอบรมบุคลากรองค์กรปกครองส่วนท้องถิ่น ประจำปีงบประมาณ พ.ศ.2566 ระว่างเดือนตุลาคม 2565 - เมษายน 2566",
|
||||||
|
"date": "26 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แบบประเมินผลสัมฤทธิ์ของกฎหมายพระราชบัญญัติว่าด้วยการลงคะแนนเสียงเพื่อถอดถอนสมาชิกสภาท้องถิ่นหรือผู้บริหารท้องถิ่น พ.ศ.25642",
|
||||||
|
"date": "26 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "สรุปผลการประชุมขับเคลื่อนและติดตามนโยบายสำคัญของรัฐบาลและภารกิจสำคัญของสำนักงานปลัดกระทรวงมหาดไทย ประจำปีงบประมาณ พ.ศ.2565 (เดือนสิงหาคม 2565)",
|
||||||
|
"date": "23 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แบบรายงานผลการประเมินประสิทธิภาพ ของ อปท. ประจำปี 2565",
|
||||||
|
"date": "16 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "16 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง การรับลงทะเบียน บุคคลที่มีภาวะพึ่งพิงฯ",
|
||||||
|
"date": "11 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 35,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/35"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-36.json
Normal file
79
scrape_output/list-menu-1554-page-36.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:57.707Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 36,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การคัดเลือกคนพิการต้นแบบ ประจำปี 2565",
|
||||||
|
"date": "11 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลในทะเบียนบ้าน",
|
||||||
|
"date": "8 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2566",
|
||||||
|
"date": "3 ส.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักสูตรอบรมพนักงานส่วนท้องถิ่นประเภททั่วไปและประเภทวิชาการ",
|
||||||
|
"date": "26 ก.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับโอน/ย้าย พนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "6 ก.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รายงานผลการประเมินมาตรฐานขั้นต่ำ การจัดบริการสาธารณะ ประจำปี พ.ศ.2565 ของเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "5 ก.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การเสนอแผนงานลดจุดเสี่ยงบนท้องถนน",
|
||||||
|
"date": "30 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง จัดตั้งศูนย์การเรียนรู้เศรษฐกิจพอเพียง",
|
||||||
|
"date": "29 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การขยายกำหนดเวลาดำเนินการตามพระราชบัญญัติภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ.2562",
|
||||||
|
"date": "28 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ความรู้ เรื่อง ยาเสพติด",
|
||||||
|
"date": "26 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_2487/pics_topic_2487_thumbnail.jpg",
|
||||||
|
"sourcePage": 36,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/36"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-37.json
Normal file
79
scrape_output/list-menu-1554-page-37.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:59.415Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 37,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การเชื่อมสัญญาณรายการวิทยุรายการ คุยเรื่องบ้าน คุยเรื่องเมือง คุยทุกเรื่องกับรัฐมนตรี",
|
||||||
|
"date": "22 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับโอนพนักงานเทศบาล",
|
||||||
|
"date": "16 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มฃื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "13 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ศูนย์ช่วยเหลือประชาชนขององค์กรปกครองส่วนท้องถิ่นและศูนย์ปฏิบัติการร่วมในการช่วยเหลือประชาชนขององคฺ์กรปกครอส่วนท้องถิ่น(สถานที่กลาง)",
|
||||||
|
"date": "13 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาสสำนักเลขาธิการคณะกรรมการส่งเสริมกิจการฮัจย์แห่งประเทศไทย เรื่อง ประกาศรายชื่อผู้มีสิทธิเดินทางไปประกอบพิธีฮัจย์ ประจำปี พ.ศ.2565 (ฮ.ศ.1443)",
|
||||||
|
"date": "9 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการจัดให้มีสัญญาณโทรศัพท์เคลื่อนที่และบริการอินเตอร์เน็ตความเร็วสูง",
|
||||||
|
"date": "2 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักเลขาธิการคณะกรรมการส่งเสริมกิจการฮัจย์แห่งประเทศไทย เรื่อง การคืนหนังสือสัญญาค้ำประกันของธนาคารในกรณีใบอนุญาตหมดอายุ",
|
||||||
|
"date": "2 มิ.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการการกระจายอำนาจให้แก่องค์กรปกครองส่วนท้องถิ่น เรื่องหลักเกณฑ์ วิธีการและอัตราการจัดสรรเงินอุดหนุน เพื่อเป็รางวัลสำหรับองค์กรปกครองส่วนท้องถิ่นจูงใจ เพื่อเพิ่มประสิทธิภาพการบริหารจัดการของท้องถิ่น ประจำปีงบประมาณ พ.ศ.2565",
|
||||||
|
"date": "30 พ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับโอน ย้าย พนักงานเทศบาลและข้าราชการประเภทอื่น",
|
||||||
|
"date": "19 พ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์เชิญชวนส่งบทความผลงานวิจัยเข้าร่วมนำเสนอในกิจกรรม Thailand Reseach Expo and Symposium 2022",
|
||||||
|
"date": "19 พ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 37,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/37"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-38.json
Normal file
79
scrape_output/list-menu-1554-page-38.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:00.759Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 38,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "การลดอัตราเงินสมทบกองทุนประกันสังคม",
|
||||||
|
"date": "18 พ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดวาย เรื่อง รับโอน ย้าย พนักงานเทศบาล",
|
||||||
|
"date": "10 พ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดวาย เรื่อง การเปิดภาดเรียนที่ 1 ประจำปีการศึกษา พ.ศ. 2565 ของสถานศึกษา สังกัดเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "10 พ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับโอน ย้าย พนักงานเทศบาล",
|
||||||
|
"date": "3 พ.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประกวดนวัตกรรมเพื่อการพัฒนาประชาธิปไตย ปี 2565",
|
||||||
|
"date": "28 เม.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการประกันรายได้เกษตรกรสวนปาล์มน้ำมัน พ.ศ.2564-2565",
|
||||||
|
"date": "28 เม.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการนักข่าวอาสาสาธารณภัย",
|
||||||
|
"date": "27 เม.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลในทะเบียนบ้าน",
|
||||||
|
"date": "22 เม.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กิจกรรมออกกำลังกายในรูปแบบท้าทาย Calorie credit challenge",
|
||||||
|
"date": "8 เม.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การรับสมัครบุคคลเพื่อสรรหาเป็นอนุกรรมการที่ปรึกษาอิสระ ด้านการป้องกันและแก้ไขปัญหาการตั้งครรภ์ในวัยรุ่น",
|
||||||
|
"date": "8 เม.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 38,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/38"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-39.json
Normal file
79
scrape_output/list-menu-1554-page-39.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:02.478Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 39,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ กรณีมีผู้แอบอ้างสถาบันเบื้องสูง และเรียกเก็บเงินค่าสมัครสมาชิก โดยแอบอ้างว่าจะได้รับค่าตอบแทนสูง",
|
||||||
|
"date": "8 เม.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การขยายระยะเวลา โดรงการลดราคาเคมีเกษตร ช่วยเกษตรกร",
|
||||||
|
"date": "8 เม.ย. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์เชิญชวนเข้าร่วมการประกวดภาพถ่าย คลองสวยน้ำใส วิถีไทยต้องกลับมา",
|
||||||
|
"date": "31 มี.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลในทะเบียนบ้าน",
|
||||||
|
"date": "31 มี.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประเมินคุณธรรมความโปร่งใสของหน่วยงานรัฐ",
|
||||||
|
"date": "24 มี.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_1390/pics_topic_1390_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การจัดกิจกรรมรณรงค์ความปลอดภัยทางถนน",
|
||||||
|
"date": "23 มี.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับโอน/ย้าย พนักงานเทศบาล",
|
||||||
|
"date": "23 มี.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลในทะเบียนบ้าน",
|
||||||
|
"date": "23 มี.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศการไฟฟ้าส่วนภูมิภาคอำเภอลำลูกกา",
|
||||||
|
"date": "23 มี.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ การให้บริการกู้ยืมเงิน เพื่อเป็นทุนประกอบอาชีพของคนพิการหรือดูแลคนพิการ",
|
||||||
|
"date": "8 มี.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 39,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/39"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-4.json
Normal file
79
scrape_output/list-menu-1554-page-4.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:06.930Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 4,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รายชื่อผู้มีสิทธิเข้ารับการสรรหาภาคเหมาะสมกับตำแหน่ง (สอบสัมภาษณ์) เพื่อบรรจุและแต่งตั้งบุคคลภายนอกเป็นพนักงานสถานธนานุบาล เเทศบาลเมืองลาดสวาย อำเภอลำลูกกา จังหวัดปทุมธานี",
|
||||||
|
"date": "30 มิ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจเพิ่มเติม ประจำปีงบประมาณ 2568",
|
||||||
|
"date": "23 มิ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครสอบคัดเลือกบุคคลพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป ประจำปีงบประมาณ พ.ศ. 2568",
|
||||||
|
"date": "23 มิ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครสอบคัดเลือกบุคคลพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ พ.ศ. 2568",
|
||||||
|
"date": "23 มิ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศจากการไฟฟ้าส่วนภูมิภาคสาขาลำลูกกา เรื่อง ขอดับไฟฟ้าเพื่อปฏิบัติงานในบางพื้นที่ของอำเภอลำลูกกา",
|
||||||
|
"date": "12 มิ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการการเลือกตั้ง เรื่อง ผลการเลือกตั้งนายกเทศมนตรีและสมาชิกสภาเทศบาล อำเภอลำลูกกา จังหวัดปทุมธานี",
|
||||||
|
"date": "11 มิ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "9 มิ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบแข่งขันเพื่อบรรจุและแต่งตั้งบุคคลภายนอกเป็นพนักงานสถานธนานุบาล",
|
||||||
|
"date": "6 มิ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายชื่อผู้ผ่านการสอบคัดเลือกเพื่อแต่งตั้งให้ดำรงตำแหน่งต่างสายงานในสายงานผู้ปฏิบัติจากสายงานประเภททั่วไปเป็นสายงานประเภทวิชาการ",
|
||||||
|
"date": "26 พ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการนับคะแนนการเลือกตั้งนายกเทศมนตรีเมืองลาดสวายและสมาชิกสภาเทศบาล",
|
||||||
|
"date": "12 พ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 4,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/4"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-40.json
Normal file
79
scrape_output/list-menu-1554-page-40.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:04.196Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 40,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์แอปพลิเคชัน บัตรประจำตัวคนพิการดิจิทัล",
|
||||||
|
"date": "4 มี.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศรายชื่อนักเรียนที่มีสิทธิืเข้าศึกษาสถานศึกษาฯ ประจำปี 2565 (ศูนย์พัฒนาเด็กเล็กเทศบาลเมืองลาดสวาย 3 (เทศบาลเมืองลาดสวาย))",
|
||||||
|
"date": "25 ก.พ. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศรายชื่อนักเรียนที่มีสิทธิืเข้าศึกษาสถานศึกษาฯ ประจำปี 2565 (ศูนย์พัฒนาเด็กเล็กเทศบาลเมืองลาดสวาย 2(วัดปัญจทายิกาวาส))",
|
||||||
|
"date": "25 ก.พ. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศรายชื่อนักเรียนที่มีสิทธิืเข้าศึกษาสถานศึกษาฯ ประจำปี 2565 (ศูนย์พัฒนาเด็กเล็กเทศบาลเมืองลาดสวาย 1 (วัดคลองชัน))",
|
||||||
|
"date": "25 ก.พ. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศรายชื่อนักเรียนที่มีสิทธิืเข้าศึกษาสถานศึกษาฯ ประจำปี 2565 (โรงเรียนอนุบาลลาดสวาย 2(หลังสำนักงานเทศบาลเมืองลาดสวาย))",
|
||||||
|
"date": "25 ก.พ. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศรายชื่อนักเรียนที่มีสิทธิืเข้าศึกษาสถานศึกษาฯ ประจำปี 2565 (โรงเรียนอนุบาลลาดสวาย (หลังตลาดเอซี))",
|
||||||
|
"date": "25 ก.พ. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การฉีดวัคซีน ป้องกันเชื้อไวรัส โควิด 19",
|
||||||
|
"date": "21 ก.พ. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเจตนารมณ์",
|
||||||
|
"date": "14 ก.พ. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญประชาชนทั่วไปลงทะเบียนฉีดวัคซีนไฟเซอร์ ในระหว่างวันที่ 1-13 กุมภาพันธ์ 2565",
|
||||||
|
"date": "1 ก.พ. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การเผยแพร่ประชาสัมพันธ์สปอตวิทยุของสำนักปลัดกระทรวงมหาดไทย",
|
||||||
|
"date": "1 ก.พ. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 40,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/40"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-41.json
Normal file
79
scrape_output/list-menu-1554-page-41.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:05.744Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 41,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง การรับสมัครนักเรียน ประจำปีการศึกษา 2565 แบบออนไลน์",
|
||||||
|
"date": "31 ม.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การอำนวยความสะดวกการลงทะเบียนเป็นผู้ซื้้อ-จองล่วงหน้าสลากกินแบ่งรัฐบาลให้แก่คนพิการที่ไม่สามารถลงทะเบียนได้ด้วยตนเอง",
|
||||||
|
"date": "31 ม.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์โครงการ KPI New GEN สร้างสรรค์นวัตกรรมท้องถิ่่น",
|
||||||
|
"date": "17 ม.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับโอน/ย้าย พนักงานเทศบาล",
|
||||||
|
"date": "11 ม.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อคนต่างด้าวเข้ในทะเบียนบ้าน",
|
||||||
|
"date": "11 ม.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "สารอวยพรปีใหม่ ประจำปี พ.ศ.2565 ของกรมส่งเสริมการปกครองท้องถิ่น",
|
||||||
|
"date": "1 ม.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครนักเรียน อนุบาล ๑ (อายุ ๓ ขวบ) ประจำปีการศึกษา ๒๕๖๕",
|
||||||
|
"date": "1 ม.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับสมัครนักเรียน เตรียมอนุบาล (อายุต่ำกว่า ๓ ขวบ) ประจำปีการศึกษา ๒๕๖๕",
|
||||||
|
"date": "1 ม.ค. 2565",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พระราชกฤษฏีกากำหนดอัตราภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ.2564",
|
||||||
|
"date": "15 ธ.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เอกสารเผยแพร่ความรู้เกี่ยวกับพระราชบัญญัติข้อมูลข่าวสารของราชการ พ.ศ.2540 รวม 5 บทความ",
|
||||||
|
"date": "15 ธ.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 41,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/41"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-42.json
Normal file
79
scrape_output/list-menu-1554-page-42.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:07.285Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 42,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ขอความอนุเคราะห์เผยแพร่ความรู้เกี่ยวกับพระราชบัญญัติข้อมูลข่าวสารของราชการ พ.ศ. 2540",
|
||||||
|
"date": "15 ธ.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เอกสารเผยแพร่ความรู้เกี่ยวกับพระราชบัญญัติข้อมูลข่าวสารของราชการ พ.ศ.2540",
|
||||||
|
"date": "18 พ.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอความอนุเคราะห์เผยแพร่ความรู้เกี่ยวกับพระราชบัญญัติข้อมูลข่าวสารของราชการ พ.ศ.2540",
|
||||||
|
"date": "18 พ.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการกำกับการทวงถามหนี้ เรื่องการกำหนดอัตราค่าธรรมเนียมหรือค่าใช้จ่ายใดๆในการทวงถามหนี้",
|
||||||
|
"date": "18 พ.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ฉีดวัคซีนเข็มที่ 2",
|
||||||
|
"date": "17 พ.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การรับลงทะเบียนผู้ได้รับความเดือดร้อนด้านการดำรงชีพจากสถานการณ์การแพร่ระบาดของโรคติดเชื้อไวรัสโคโรน่า (โควิด-19) เพิ่มเติม",
|
||||||
|
"date": "1 พ.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอน/ย้าย รองปลัดเทศบาล",
|
||||||
|
"date": "1 พ.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "walk in ฉีดวัคซีน",
|
||||||
|
"date": "26 ต.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2565",
|
||||||
|
"date": "26 ต.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2565",
|
||||||
|
"date": "26 ต.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 42,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/42"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-43.json
Normal file
79
scrape_output/list-menu-1554-page-43.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:09.134Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 43,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "เอกสารแนบการขอฉีดวัคซีนต่างด้าว",
|
||||||
|
"date": "20 ต.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบ",
|
||||||
|
"date": "15 ต.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เปลี่ยนแปลงเวลาตรวจ ATK",
|
||||||
|
"date": "12 ต.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายชื่อไม่มาฉีดวัคซีน เข็ม 2",
|
||||||
|
"date": "1 ต.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการพนักงานดีเด่น และ กองดีเด่น",
|
||||||
|
"date": "1 ต.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แก้ไขประกาศรับสมัครพนักงานจ้าง เฉพาะตำแหน่งผู้ช่วยครู (อัตราจ้าง)",
|
||||||
|
"date": "30 ก.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครพนักงานจ้าง",
|
||||||
|
"date": "22 ก.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การรับลงทะเบียนผู้ได้รับความเดือดร้อนด้านการดำรงชีพจากสถานการณ์การแพร่ระบาดของ โรคติดเชื้อไวรัสโคโรนา 2019 ( โควิด-19 ) เพิ่มเติม",
|
||||||
|
"date": "17 ก.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง การับลงทะเบียนผู้ได้รับความเดือดร้อนด้านการดำรงชีพจากสถานการณ์แพร่ระบาดของโรคติดเชื้อไวรัสโคโรนา 2019",
|
||||||
|
"date": "1 ก.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย ปิดสถานที่ราชการชั่วคราว",
|
||||||
|
"date": "26 ก.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 43,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/43"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-44.json
Normal file
79
scrape_output/list-menu-1554-page-44.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:10.679Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 44,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์โครงการ \"วงเวียน ช่วยชีวิต ประจำปี 2564\"",
|
||||||
|
"date": "20 ก.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง บัญชีรายชื่อผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2564",
|
||||||
|
"date": "25 มิ.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2564",
|
||||||
|
"date": "25 มิ.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2564",
|
||||||
|
"date": "17 มิ.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเจตนารมณ์ \"สุจริต โปร่งใส จังหวัดปทุมธานีใสสะอาด 2564\"",
|
||||||
|
"date": "31 พ.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประกาศเจตจำนงสุจริตในการบริหารงานของผู้ว่าราชการจังหวัดปทุมธานี",
|
||||||
|
"date": "31 พ.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เชิญชวนติดตั้งบ่อดักไขมันในครัวเรือน",
|
||||||
|
"date": "27 พ.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2564",
|
||||||
|
"date": "20 พ.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง การรับโอน (ย้าย) พนักงานเทศบาล หรือพนักงานท้องถิ่นประเภทอื่น เพื่อแต่งตั้งให้ดำรงตำแหน่งสายงานผู้ปฏิบัติงานในตำแหน่งที่ว่าง",
|
||||||
|
"date": "17 พ.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง การขยายกำหนดเวลาดำเนินการตามพระราชบัญญัติภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ. 2562 ประจำปี 2564",
|
||||||
|
"date": "30 เม.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 44,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/44"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-45.json
Normal file
79
scrape_output/list-menu-1554-page-45.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:12.403Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 45,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "คำสั่งจังหวัดปทุมธานี ที่ ๓๗๒๗/๒๕๖๔",
|
||||||
|
"date": "26 เม.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ การดำเนินการเรื่องร้องเรียนการทุจริตและประพฤติมิชอบ",
|
||||||
|
"date": "1 เม.ย. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการการเลือกตั้ง เรื่องวิธีการแจ้งเหตุจำเป็นที่ไม่อาจไปใช้สิทธิเลือกตั้ง",
|
||||||
|
"date": "26 มี.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญร่วมแสดงความคิดเห็นโครงการวางและจัดทำผังเมืองรวมเมืองลำลูกกา-บึงยี่โถ ปทุมธานี",
|
||||||
|
"date": "11 มี.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเจตนารมณ์การป้องกันและต่อต้านการทุจริตคอรัปชั่น",
|
||||||
|
"date": "10 มี.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ เจตจำนงสุจริตการบริหารและการปฏิบัติหน้าที่ราชการ",
|
||||||
|
"date": "10 มี.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับโอน/ย้าย พนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "1 มี.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อนักเรียนที่มีสิทธิ์เข้าศึกษาต่อ สถานศึกษา สังกัดเทศบาลเมืองลาดสวาย ประจำปี 2564",
|
||||||
|
"date": "22 ก.พ. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเรื่อง กำหนดมาตรการเพื่อป้องกันเหตุรำคาญจากการเผาในที่โล่ง พ.ศ.2564",
|
||||||
|
"date": "18 ก.พ. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อ สถานศึกษาที่ต้องดำเนินการจับสลากคัดเลือกนักเรียนเข้าเรียน เนื่องจากมีนักเรียนสมัครมากกว่าจำนวนที่กำหนด พร้อมขั้นตอนการจับสลาก ปีการศึกษา ๒๕๖๔",
|
||||||
|
"date": "1 ก.พ. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 45,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/45"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-46.json
Normal file
79
scrape_output/list-menu-1554-page-46.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:14.055Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 46,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "การดำเนินการป้องกันและแก้ไขปัญหาสถานการณ์ฝุ่นละอองขนาดเล็ก PM2.5",
|
||||||
|
"date": "28 ม.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับโอน/ย้าย พนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "26 ม.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์โครงการชุมชนปลอดขยะ(Zero Waste) ปี 2564และโครงการโรงเรียนปลอดขยะ(Zero Waste School) ปี 2564",
|
||||||
|
"date": "22 ม.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครนักเรียนออนไลน์ ระดับเตรียมอนุบาล(อายุต่ำกว่า 3 ขวบ) และนักเรียนอนุบาล 1 (อายุ 3 ขวบ)",
|
||||||
|
"date": "20 ม.ค. 2564",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครนักเรียน อนุบาล ๑ (อายุ ๓ ขวบ) และเตรียมอนุบาล(อายุต่ำกว่า ๓ ขวบ) ประจำปีการศึกษา ๒๕๖๔",
|
||||||
|
"date": "22 ธ.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครนักเรียน อนุบาล ๑ (อายุ ๓ ขวบ) และเตรียมอนุบาล(อายุต่ำกว่า ๓ ขวบ) ประจำปีการศึกษา ๒๕๖๔",
|
||||||
|
"date": "22 ธ.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั้วไป ประจำปีงบประมาณ 2564",
|
||||||
|
"date": "17 ธ.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป ประจำปีงบประมาณ ๒๕๖๔",
|
||||||
|
"date": "1 ธ.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเรื่องรับโอน/ย้าย พนักงานเทศบาลและข้าราชการประเภทอื่น",
|
||||||
|
"date": "1 ธ.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่องขอขยายเวลาประกาศบัญชีรายการที่ดินและสิ่งปลูกสร้าง (ภ.ด.ส.๓/๔)",
|
||||||
|
"date": "1 ธ.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 46,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/46"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-47.json
Normal file
79
scrape_output/list-menu-1554-page-47.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:15.907Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 47,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ใบสมัครเข้าเป็นพนักงานจ้าง เทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "11 พ.ย. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์ เรื่องความปลอดภัยของประชาชนผู้ใช้ไฟฟ้า",
|
||||||
|
"date": "10 พ.ย. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ ๒๕๖๔",
|
||||||
|
"date": "1 พ.ย. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเรื่อง รับโอน/ย้าย พนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "1 พ.ย. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ เผยแพร่แผนการจัดซื้อจัดจ้าง ประจำปีงบประมาณ พ.ศ.๒๕๖๔",
|
||||||
|
"date": "28 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ เผยแพร่แผนการจัดซื้อจัดจ้าง ประจำปีงบประมาณ พ.ศ.๒๕๖๔",
|
||||||
|
"date": "27 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ เผยแพร่แผนการจัดซื้อจัดจ้าง ประจำปีงบประมาณ พ.ศ.๒๕๖๔",
|
||||||
|
"date": "27 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ เผยแพร่แผนการจัดซื้อจัดจ้าง ประจำปีงบประมาณ พ.ศ.๒๕๖๔",
|
||||||
|
"date": "27 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเผยแพร่แผนการจัดซื้อจัดจ้าง ประจำปีงบประมาณ พ.ศ.๒๕๖๔",
|
||||||
|
"date": "27 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผู้ชนะการเสนอราคา ประกวดราคาจ้างโครงการปรับปรุงระบบไฟฟ้า สำนักงานเทศบาลเมืองลาดสวาย ด้วยระบบอิเล็กทรอนิกส์ (e-bidding)",
|
||||||
|
"date": "27 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 47,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/47"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-48.json
Normal file
79
scrape_output/list-menu-1554-page-48.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:17.925Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 48,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การรับลงทะเบียนผู้สูงอายุ ประจำปีงบประมาณ ๒๕๖๕",
|
||||||
|
"date": "26 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเรื่อง ผู้ชนะการเสนอราคา ประกวดราคาจ้างก่อสร้างถนนคอนกรีตเสริมเหล็กพร้อมท่อระบายน้ำและบ่อพัก ซอยประสงค์สุขการี (ซอยเลียบคลองสี่ ๗) หมู่ที่ 5",
|
||||||
|
"date": "12 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ เรื่อง ประกวดราคาจ้างโครงการปรับปรุงระบบไฟฟ้า สำนักงานเทศบาลเมืองลาดสวาย ด้วยวิธีประกวดราคาอิเล็กทรอนิกส์(e-bidding)",
|
||||||
|
"date": "1 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "1 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศพนักงานดีเด่น ประจำปีงบประมาณ ๒๕๖๓",
|
||||||
|
"date": "1 ต.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ ขยายกำหนดเวลาดำเนินการตามพระราชบัญญัติภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ.๒๕๖๒(เพิ่มเติม)",
|
||||||
|
"date": "30 ก.ย. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ ขยายกำหนดเวลาดำเนินการตามพระราชบัญญัติภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ.๒๕๖๒(เพิ่มเติม)",
|
||||||
|
"date": "30 ก.ย. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอน/ย้าย พนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "18 ก.ย. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขยายเวลาการชำระภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ. ๒๕๖๓",
|
||||||
|
"date": "27 ส.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับ โอน/ย้าย พนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "16 ก.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 48,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/48"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-49.json
Normal file
79
scrape_output/list-menu-1554-page-49.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:19.568Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 49,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "เทศบาลเมืองลาดสวาย ขอเชิญผู้พิการรายใหม่ และผู้พิการที่ย้ายภูมิลำเนาเข้ามาอยู่ในเขตเทศบาลเมืองลาดสวาย ลงทะเบียนเพื่อขอรับเบี้ยคนพิการ ประจำปีงบประมาณ 2564",
|
||||||
|
"date": "1 ก.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ผู้ที่มีหน้าที่ยื่นบัญชีทรัพย์สินและหนี้สินต่อคณะกรรมการ ป.ป.ช. ดำเนินการยื่นบัญชีายในระยะเวลาที่กฎหมายกำหนด",
|
||||||
|
"date": "1 ก.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การขึ้นทะเบียนรับเงินเบี้ยยังชีพผู้ป่วยเอดส์ ประจำปีงบประมาณ 2564",
|
||||||
|
"date": "1 ก.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เทศบาลเมืองลาดสวาย กำหนดให้ผู้สูงอายุ (รายเดิม) แสดงตนและยืนยันหมายเลขบัญชีธนาคารเพื่อรับเบี้ยยังชีพผู้สูงอายุ ประจำปีงบประมาณ 2564",
|
||||||
|
"date": "1 ก.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญชวนผู้สูงอายุลงทะเบียนรับเงินเบี้ยยังชีพผู้สูงอายุ ประจำปีงบประมาณ พ.ศ 2565",
|
||||||
|
"date": "1 ก.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การจัดเก็บสถิติ ข้อมูล และรายงานผลการทำงานของระบบบำบัดน้ำเสีย",
|
||||||
|
"date": "1 ก.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "นโยบายคุณธรรมเเละความโปร่งใส ปีงบประมาณพ.ศ.2563",
|
||||||
|
"date": "24 มี.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครนักเรียนอนุบาล 1 (อายุ 3 ขวบ) ปีการศึกษา 2563",
|
||||||
|
"date": "24 มี.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครนักเรียน เตรียมอนุบาล (อายุต่ำกว่า 3 ขวบ) ประจำปีการศึกษา2563",
|
||||||
|
"date": "24 มี.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง มอบอำนาจของนายกเทศมนตรีเมืองลาดสวาย ให้รองปลัดเทศบาลเมืองลาดสวาย ปฏิบัติราชการแทน",
|
||||||
|
"date": "22 มี.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 49,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/49"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-5.json
Normal file
79
scrape_output/list-menu-1554-page-5.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:08.407Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 5,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "รับสมัครสอบแข่งขันเพื่อบรรจุและแต่งตั้งบุคคลภายนอกเป็นพนักงานสถานธนานุบาล",
|
||||||
|
"date": "28 เม.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือกเพื่อแต่งตั้งให้ดำรงตำแหน่งต่างสายงานในสายงานผู้ปฏิบัติจากสายงานประเภททั่วไปเป็นสายงานประเภทวิชาการ",
|
||||||
|
"date": "11 เม.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แผนประมาณการรายจ่ายงบประมาณรายจ่าย ประจำปีงบประมาณ พ.ศ. 2568 ศูนย์การแพทย์เทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "9 เม.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เอกสารคู่มือเกี่ยวกับการหาเสียงเลือกตั้งท้องถิ่น",
|
||||||
|
"date": "2 เม.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผู้อำนวยการเลือกตั้งประจำจังหวัดปทุมธานี เรื่อง กำหนดจำนวนเงินค่าใช้จ่ายในการเลือกตั้งของผู้สมัครรับเลือกตั้งเป็นนายกเทศมนตรีและสมาชิกสภาเทศบาลเมือง",
|
||||||
|
"date": "31 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการการเลือกตั้งประจำเทศบาลเมืองลาดสวาย กำหนดจำนวน หลักเกณฑ์ วิธีการ และสถานที่ปิดประกาศเกี่ยวกับการหาเสียงเลือกตั้งและปิดแผ่นป้ายเกี่ยวกับการหาเสียงเลือกตั้งสมาชิกสภาเทศบาลเมืองลาดสวายและนายกเทศมนตรีเมืองลาดสวาย",
|
||||||
|
"date": "29 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กกต. แจ้งให้ตรวจสอบข้อมูลการถูกจำกัดสิทธิสมัครรับเลือกตั้งสมาชิกสภาเทศบาลและนายกเทศมนตรี",
|
||||||
|
"date": "29 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผู้อำนวยการการเลือกตั้งประจำเทศบาลเมืองลาดสวาย ▶️เรื่อง ให้มีการเลือกตั้งสมาชิกสภาเทศบาลและนายกเทศมนตรีเมืองลาดสวาย",
|
||||||
|
"date": "29 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การรับสมัครสมาชิกสภาเทศบาลเมืองลาดสวาย ขอเชิญผู้มีความประสงค์สมัครรับเลือกตั้งเป็น สมาชิกสภาเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "29 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์การรับสมัครนายกเทศมนตรีเมืองลาดสวาย ขอเชิญผู้มีความประสงค์สมัครรับเลือกตั้งเป็น นายกเทศมนตรีเมืองลาดสวาย",
|
||||||
|
"date": "29 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 5,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-50.json
Normal file
79
scrape_output/list-menu-1554-page-50.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:21.208Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 50,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศเลื่อนการจัดฝึกอบรมโครงการ ส่งเสริมคุณภาพชีวิตผู้สูงอายุในเขตเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "1 มี.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ข้อควรรู้เกี่ยวกับการเผาหญ้า ขยะ หรือสิ่งอื่นๆในที่ดินของตนเอง",
|
||||||
|
"date": "1 มี.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แบบรับฟังความคิดเห็นและข้อเสนอแนะของประชาชนเกี่ยวกับรูปแบบการแบ่งเขตเลือกตั้งสมาชิกสภาท้องถิ่นจังหวัดปทุมธานี",
|
||||||
|
"date": "27 ก.พ. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์จับสลากเข้าเรียน ปีการศึกษา 2563",
|
||||||
|
"date": "16 ก.พ. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาสัมพันธ์จับสลากเข้าเรียน ปีการศึกษา 2563",
|
||||||
|
"date": "16 ก.พ. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครบุคคลเข้ารับการสรรหาเป็นคณะกรรมการการเลือกตั้งประจำเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "27 ม.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประชาสัมพันธ์ให้เจ้าของที่ดินที่ทอดทิ้งไม่ทำประโยชน์รีบเข้าทำประโยชน์ในที่ดิน",
|
||||||
|
"date": "1 ม.ค. 2563",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอความอนุเคราะห์เผยแพร่ความรู้เกี่ยวกับพระราชบัญญัติข้อมูลข่าวสารของราชการ พ.ศ.2540",
|
||||||
|
"date": "30 ต.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจและ",
|
||||||
|
"date": "1 ต.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แต่งตั้งพนักงานสำรวจ กำหนดระยะเวลาการสำรวจที่ดินปลูปสร้าง",
|
||||||
|
"date": "26 ก.ย. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 50,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/50"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-51.json
Normal file
79
scrape_output/list-menu-1554-page-51.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:23.158Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 51,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศชื่อพนักงานดีเด่น ประจำปี 2562",
|
||||||
|
"date": "19 ก.ย. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครคัดเลือกบุคคลเพื่อสรรหาเป็นพนักงานจ้าง ประจำปีงบประมาณ 2562",
|
||||||
|
"date": "21 ส.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอพระราชทานความช่วยเหลือเกี่ยวกับหนี้สิน",
|
||||||
|
"date": "18 ก.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประชาสัมพันธ์การป้องกันเเละลดอุบัติเหตุทางถนนช่วงฤดูฝนในพื้นที่จังหวัดปทุมธานี",
|
||||||
|
"date": "21 มิ.ย. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศใช้แผนพัฒนาท้องถิ่นสี่ปี (พ.ศ.2561-2565) ของเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "14 มิ.ย. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "บัญชีรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2562",
|
||||||
|
"date": "1 มิ.ย. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรพนักงานจ้างทั่วไป",
|
||||||
|
"date": "28 พ.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิสอบคัดเลือกบุคคลเพื่อสรรหาและการเลือกสรรเป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ2562",
|
||||||
|
"date": "28 พ.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง กำหนดอายุการใช้งาน และอัตราค่าเสื่อมราคาทรัพย์สินย์",
|
||||||
|
"date": "10 พ.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เปลี่ยนแปลงวันประกาศผลการสอบการคัดเลือกพนักงานจ้างตามภารกิจ",
|
||||||
|
"date": "10 พ.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 51,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/51"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-52.json
Normal file
79
scrape_output/list-menu-1554-page-52.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:25.203Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 52,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "รับโอนย้าย พนักงานเทศบาล",
|
||||||
|
"date": "31 ม.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กำหนดสถานที่รับสมัครรับเลือกตั้งสมาชิกผู้แทนราษฎรแบบแบ่งเตเลือกตั้ง",
|
||||||
|
"date": "27 ม.ค. 2562",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอความอนุเคราะห์ออกประกาศรับสมัครทหารกองทุน เเละบุคคลพลเรือน (ชาย) เข้ารับราชการ",
|
||||||
|
"date": "29 ธ.ค. 2561",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครนักเรียน อนุบาล 1 (อายุ 3 ขวบ) ประจำปีการศึกษา 2562",
|
||||||
|
"date": "12 ธ.ค. 2561",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครนักเรียน เตรียมอนุบาล (อายุต่ำกว่า 3 ขวบ) ประจำปีการศึกษา 2562",
|
||||||
|
"date": "12 ธ.ค. 2561",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2562",
|
||||||
|
"date": "30 พ.ย. 2561",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้ผ่านการสอบคัดเลือกเพื่อบรรจุแต่งตั้งให้เป็นพนักงานจ้างตามภารกิจ ประจำปีงบประมาณ 2562 (2)",
|
||||||
|
"date": "30 พ.ย. 2561",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ข่าวประชาสัมพันธ์",
|
||||||
|
"date": "22 พ.ย. 2561",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับโอนย้าย พนักงานเทศบาล 2561-2563",
|
||||||
|
"date": "30 ต.ค. 2561",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ข้อเเนะนำของคณะกรรมการคุ้มครองผู้บริโภคกรณีข้อเร้องเรียนเกี่ยวกับอสังหาริมทรัพย์",
|
||||||
|
"date": "1 ต.ค. 2561",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 52,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/52"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
23
scrape_output/list-menu-1554-page-53.json
Normal file
23
scrape_output/list-menu-1554-page-53.json
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/53",
|
||||||
|
"scrapedAt": "2025-12-17T07:26:26.988Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 53,
|
||||||
|
"count": 2,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อพนักงานดีเด่น ประจำปีงบประมาณ พ.ศ.2561",
|
||||||
|
"date": "1 ต.ค. 2561",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 53,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/53"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศใช้แผนพัฒนาท้องถิ่นสี่ปี (พ.ศ.2561-2564) ของเทศบาลเมืองลาดสวาบ",
|
||||||
|
"date": "31 ต.ค. 2559",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 53,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/53"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-6.json
Normal file
79
scrape_output/list-menu-1554-page-6.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:09.886Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 6,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการการเลือกตั้ง เรื่อง การแบ่งเขตเลือกตั้งสมาชิกสภาเทศบาลในจังหวัดปทุมธานี 2568",
|
||||||
|
"date": "26 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "26 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการสรรหาและเลือกสรรบุคคลเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป สังกัด เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2568 ครั้งที่ 3",
|
||||||
|
"date": "21 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศจังหวัดปทุมธานี เรื่อง กำหนดมาตรการองค์กรสถานที่ราชการ เพื่อป้องกันและลดอุบัติเหตุทางถนนจังหวัดปทุมธานี",
|
||||||
|
"date": "17 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิเข้ารับการสรรหาและเลือกสรรเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป ประจำปีงบประมาณ 2568 ครั้งที่ 3",
|
||||||
|
"date": "14 มี.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "28 ก.พ. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครสอบคัดเลือกพนักงานเทศบาลเพื่อเปลี่ยนสายงานประเภททั่วไปให้ดำรงตำแหน่งวสายงานประเภทวิชาการ",
|
||||||
|
"date": "26 ก.พ. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้าง ประจำปีงบประมาณ 2568 ครั้งที่3",
|
||||||
|
"date": "25 ก.พ. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง ประกาศรายชื่อนักเรียนที่มีสิทธิ์เข้าศึกษา สถานศึกษา สังกัดเทศบาลเมืองลาดสวาย ประจำปีการศึกษา 2568",
|
||||||
|
"date": "24 ก.พ. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง ขายทอดตลาดพัสดุ ครุภัณฑ์ที่ชำรุด เสื่อมสภาพหรือไม่จำเป็นต้องใช้ในราชการต่อไป",
|
||||||
|
"date": "21 ก.พ. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 6,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/6"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-7.json
Normal file
79
scrape_output/list-menu-1554-page-7.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:11.435Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 7,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ขอเชิญสถานประกอบการด้านการท่องเที่ยว เข้าร่วมการอบรมเพื่อเตรียมความพร้อมเข้าสู่การตรวจประเมินมาตรฐานการท่องเที่ยวไทย ประจำปี 2568",
|
||||||
|
"date": "20 ก.พ. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3499/pics_topic_3499_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักงานการปฏิรูปที่ดินจังหวัดลพบุรี เรื่อง การออกแบบใบแทนหนังสืออนุญาตให้เข้าทำประโยชน์ในเขตปฏิรูปที่ดิน (ส.ป.ก.4-01)",
|
||||||
|
"date": "17 ก.พ. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผู้อำนวยการการเลือกตั้งประจำเทศบาลเมืองลาดสวาย เรื่อง การรับสมัครบุคคลเข้ารับการสรรหาเป็นคณะกรรมการการเลือกตั้งประจำเทศบาลเมืองลาดสวาย",
|
||||||
|
"date": "3 ก.พ. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แผนการดำเนินงานการป้องกันและแก้ไขปัญหาฝุ่นละอองขนาดเล็ก PM 2.5",
|
||||||
|
"date": "3 ก.พ. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การรับฟังความคิดเห็นรูปแบบการแบ่งเขตเลือกตั้งสมาชิกสภาเทศบาล",
|
||||||
|
"date": "29 ม.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับโอน/ย้ายพนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "21 ม.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับโอน/ย้ายพนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "3 ม.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "25 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการสรรหาและเลือกสรรบุคคลเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป สังกัด เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2568 ครั้งที่ 2",
|
||||||
|
"date": "25 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักงานการปฏิรูปที่ดินจังหวัดปทุมธานี ที่ 3/2567 เรื่อง การจัดซื้อที่ดินที่มีหนังสือแสดงสิทธิในที่ดิน เพื่อนำมาดำเนินการปฏิรูปที่ดินเพื่อเกษตรกรรม",
|
||||||
|
"date": "24 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 7,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/7"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-8.json
Normal file
79
scrape_output/list-menu-1554-page-8.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:12.882Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 8,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการว่าด้วยสัญญา เรื่อง ให้ะุรกิจการขายรถยนต์และรถจักรยานยนต์(รถใหม่) ที่มีการจองเป็นธุรกิจที่ควบคุมสัญญา",
|
||||||
|
"date": "24 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิเข้ารับการสรรหาและเลือกสรรเป็นพนักงานจ้าง ปีงบประมาณ พ.ศ. 2568 ครั้งที่ 2",
|
||||||
|
"date": "18 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศสำนักทะเบียนท้องถิ่นเทศบาลเมืองลาดสวาย เรื่อง การเพิ่มชื่อบุคคลเข้าในทะเบียนบ้าน",
|
||||||
|
"date": "2 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้าง ประจำปีงบประมาณ พ.ศ. 2568 ครั้งที่ 2",
|
||||||
|
"date": "27 พ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศผลการสรรหาและเลือกสรรบุคคลเป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป สังกัด เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2568",
|
||||||
|
"date": "26 พ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอความอนุเคราะห์ประชาสัมพันธ์ โครงการแว่นสวยตาใส ทุกวัยสุขภาพตาดี",
|
||||||
|
"date": "25 พ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ขอแจ้งประชาสัมพันธ์ โครงการอบรมสัมมนาและส่งเสริมสนับสนุนอาชีพต่าง ๆ แก่ผู้สนใจร่วมโครงการและกลุ่มอาชีพต่าง ๆ ในเขตเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ.2568",
|
||||||
|
"date": "22 พ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับโอนพนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "19 พ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศรายชื่อผู้มีสิทธิเข้ารับการสรรหาและเลือกสรร เป็นพนักงานจ้างตามภารกิจและพนักงานจ้างทั่วไป สังกัด เทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2568",
|
||||||
|
"date": "15 พ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอนพนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "8 พ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 8,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/8"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
79
scrape_output/list-menu-1554-page-9.json
Normal file
79
scrape_output/list-menu-1554-page-9.json
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9",
|
||||||
|
"scrapedAt": "2025-12-17T07:25:14.443Z",
|
||||||
|
"menuId": 1554,
|
||||||
|
"page": 9,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "รับสมัครสอบคัดเลือกบุคคลเพื่อสรรหาและเลือกสรรเป็นพนักงานจ้าง ประจำปีงบประมาณ พ.ศ. 2568",
|
||||||
|
"date": "28 ต.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รับโอนพนักงานเทศบาลเทศบาลและข้าราชการประเภทอื่น",
|
||||||
|
"date": "17 ต.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์และวิธีปฏิบัติในการจ่ายเงินตามโครงการกระตุ้นเศรษฐกิจ ปี 2567 ผ่านคนพิการ",
|
||||||
|
"date": "17 ต.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการให้บริการขององค์การบริหารส่วนจังหวัดปทุมธานี",
|
||||||
|
"date": "9 ต.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3402/pics_topic_3402_thumbnail.jpg",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การรับฟังความคิดเห็นเพื่อประกอบการเสนอร่างพระราชบัญญัติควบคุมการจัดมหรสพที่มีการใช้เครื่องขยายเสียง พ.ศ....",
|
||||||
|
"date": "8 ต.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3403/pics_topic_3403_thumbnail.gif",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศเทศบาลเมืองลาดสวาย เรื่อง รับโอนย้ายพนักงานเทศบาล และข้าราชการประเภทอื่น",
|
||||||
|
"date": "8 ต.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ เรื่อง รายงานสรุปผลการจัดเก็บภาษีป้าย ภาษีที่ดินและสิ่งปลูกสร้าง ประจำปีงบประมาณ พ.ศ. 2567",
|
||||||
|
"date": "3 ต.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้ผ่านการคัดเลือกในกรณีที่มีเหตุพิเศษไม่จำเป็นต้องสอบแข่งขันเพื่อบรรจุเป็นพนักงานเทศาบาล เทศบาลเมืองลาดสวาย ตำแหน่ง เภสัชกรปฏิบัติการ",
|
||||||
|
"date": "20 ก.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้ผ่านการคัดเลือกในกรณีที่มีเหตุพิเศษไม่จำเป็นต้องสอบแข่งขันเพื่อบรรจุเป็นพนักงานเทศาบาล เทศบาลเมืองลาดสวาย ตำแหน่ง นายแพทย์ปฏิบัติการ",
|
||||||
|
"date": "20 ก.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศ รายชื่อผู้ผ่านการคัดเลือกในกรณีที่มีเหตุพิเศษไม่จำเป็นต้องสอบแข่งขันเพื่อบรรจุเป็นพนักงานเทศาบาล เทศบาลเมืองลาดสวาย ตำแหน่ง ทันตแทพย์ปฏิบัติการ",
|
||||||
|
"date": "20 ก.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/configuration_upload/config/default_4_3_thumbnail.jpg",
|
||||||
|
"sourcePage": 9,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1554/page/9"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
218
temps.js
Normal file
218
temps.js
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
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, catid, 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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1208;
|
||||||
|
const catid = 66;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
98
temps2.js
Normal file
98
temps2.js
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
|
||||||
|
|
||||||
|
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: 30 * 1024 * 1024 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function absUrl(href) {
|
||||||
|
if (!href) return null;
|
||||||
|
if (href.startsWith("http")) return href; // ลิงก์นอกโดเมน
|
||||||
|
if (href.startsWith("/")) return BASE + href; // /public/...
|
||||||
|
return BASE + "/" + href; // public/...
|
||||||
|
}
|
||||||
|
|
||||||
|
function scrapeLawMenu(menuId) {
|
||||||
|
const url = `${BASE}/rss/data/law/menu/${menuId}`;
|
||||||
|
const html = curlHtml(url);
|
||||||
|
|
||||||
|
// debug
|
||||||
|
fs.writeFileSync(path.join(OUT, `debug-menu-${menuId}.html`), html, "utf8");
|
||||||
|
|
||||||
|
const $ = cheerio.load(html);
|
||||||
|
const items = [];
|
||||||
|
|
||||||
|
// ในรูปอยู่ใน table > tbody > tr และข้อมูลอยู่ที่ td.law-topic
|
||||||
|
$("table tbody tr").each((_, tr) => {
|
||||||
|
const tds = $(tr).find("td.law-topic");
|
||||||
|
if (tds.length < 2) return;
|
||||||
|
|
||||||
|
// ✅ ช่องที่ 2 คือข้อมูลจริง
|
||||||
|
const td = tds.eq(1);
|
||||||
|
|
||||||
|
// title ที่ถูกต้องมักอยู่ใน <a> ตัวที่เป็นข้อความยาว (มักเป็นตัวสุดท้าย)
|
||||||
|
const title = td.find("a[href]").last().text().replace(/\s+/g, " ").trim();
|
||||||
|
if (!title || title === "-") return;
|
||||||
|
|
||||||
|
// เก็บ link ทุกตัวใน td (มีทั้ง read + download)
|
||||||
|
const links = [];
|
||||||
|
td.find("a[href]").each((_, a) => {
|
||||||
|
const href = $(a).attr("href");
|
||||||
|
const text = $(a).text().replace(/\s+/g, " ").trim();
|
||||||
|
links.push({
|
||||||
|
text: text || null,
|
||||||
|
href: absUrl(href),
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
const detail =
|
||||||
|
td
|
||||||
|
.clone()
|
||||||
|
.find("a") // ตัด a ออก เหลือ text ล้วน
|
||||||
|
.remove()
|
||||||
|
.end()
|
||||||
|
.text()
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.trim() || null;
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
title,
|
||||||
|
detail,
|
||||||
|
links,
|
||||||
|
sourceUrl: url,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return { url, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(function main() {
|
||||||
|
const menuId = 1220;
|
||||||
|
|
||||||
|
const { url, items } = scrapeLawMenu(menuId);
|
||||||
|
|
||||||
|
const out = {
|
||||||
|
menuId,
|
||||||
|
source: url,
|
||||||
|
scrapedAt: new Date().toISOString(),
|
||||||
|
totalItems: items.length,
|
||||||
|
items,
|
||||||
|
};
|
||||||
|
|
||||||
|
const outJson = path.join(OUT, `menu-${menuId}-all.json`);
|
||||||
|
fs.writeFileSync(outJson, JSON.stringify(out, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("✅ Saved:", outJson);
|
||||||
|
console.log("✅ Items:", items.length);
|
||||||
|
})();
|
||||||
221
transparency-anti-corruption-measures.js
Normal file
221
transparency-anti-corruption-measures.js
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
// มาตรการส่งเสริมความโปร่งใสและป้องกันการทุจริต 1595
|
||||||
|
|
||||||
|
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, catid, page) {
|
||||||
|
// return `${BASE}/public/list/data/index/menu/${menuId}/page/${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;
|
||||||
|
|
||||||
|
files.push({
|
||||||
|
text: el.text().replace(/\s+/g, " ").trim() || null,
|
||||||
|
url: fileUrl,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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}-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 (detailUrl) files = extractFileLinksFromDetail(detailUrl);
|
||||||
|
const firstFileUrl = files?.[0]?.url ? absUrl(files[0].url) : null;
|
||||||
|
if (firstFileUrl) {
|
||||||
|
realPath = await resolveRealFilePath(firstFileUrl);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
files = [];
|
||||||
|
realPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
detailUrl: detailUrl || null,
|
||||||
|
fileUrl: files?.[0]?.url ? absUrl(files[0].url) : null, // ไฟล์จากหน้า detail
|
||||||
|
filePath: `https://ladsawai.go.th/public/` + realPath, // ✅ ของจริงจาก api /status/1/
|
||||||
|
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}-page-${page}.json`),
|
||||||
|
JSON.stringify(output, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`✅ page ${page} -> items ${items.length}`);
|
||||||
|
return { $, items };
|
||||||
|
}
|
||||||
|
|
||||||
|
(async function main() {
|
||||||
|
const menuId = 1595;
|
||||||
|
const catid = 66;
|
||||||
|
|
||||||
|
const first = await scrapeOnePage(menuId, catid, 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, catid, 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}-catid-${catid}-all.json`);
|
||||||
|
fs.writeFileSync(outAll, JSON.stringify(merged, null, 2), "utf8");
|
||||||
|
|
||||||
|
console.log("🎉 Saved all:", outAll);
|
||||||
|
console.log("🎉 Total unique:", all.length);
|
||||||
|
})();
|
||||||
1856
กฎหมาย ระเบียบ และประกาศกระทรวง/debug-menu-1221.html
Normal file
1856
กฎหมาย ระเบียบ และประกาศกระทรวง/debug-menu-1221.html
Normal file
File diff suppressed because one or more lines are too long
462
กฎหมาย ระเบียบ และประกาศกระทรวง/menu-1221-all.json
Normal file
462
กฎหมาย ระเบียบ และประกาศกระทรวง/menu-1221-all.json
Normal file
@ -0,0 +1,462 @@
|
|||||||
|
{
|
||||||
|
"menuId": 1221,
|
||||||
|
"source": "https://ladsawai.go.th/rss/data/rules/menu/1221",
|
||||||
|
"scrapedAt": "2025-12-19T04:01:14.761Z",
|
||||||
|
"totalItems": 30,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. เทศบาล พ.ศ. 2496แก้ไขเพิ่มเติมถึง (ฉ.14) พ.ศ. 2562",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126302"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. เทศบาล พ.ศ. 2496แก้ไขเพิ่มเติมถึง (ฉ.14) พ.ศ. 2562",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1937_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. อบจ. พ.ศ. 2540แก้ไขเพิ่มเติมถึง (ฉ.5) พ.ศ. 2562",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126301"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. อบจ. พ.ศ. 2540แก้ไขเพิ่มเติมถึง (ฉ.5) พ.ศ. 2562",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1936_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. สภาตำบลและองค์การบริหารส่วนตำบล พ.ศ. 2537แก้ไขเพิ่มเติมถึง (ฉ.7) พ.ศ. 2562",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126300"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. สภาตำบลและองค์การบริหารส่วนตำบล พ.ศ. 2537แก้ไขเพิ่มเติมถึง (ฉ.7) พ.ศ. 2562",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1935_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. รักษาความสะอาดและความเป็นระเบียบเรียบร้อยของบ้านเมือง (ฉ.2) พ.ศ. 2560",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126299"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. รักษาความสะอาดและความเป็นระเบียบเรียบร้อยของบ้านเมือง (ฉ.2) พ.ศ. 2560",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1930_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. ระเบียบบริหารงานบุคคลส่วนท้องถิ่น พ.ศ. 2542",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126298"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. ระเบียบบริหารงานบุคคลส่วนท้องถิ่น พ.ศ. 2542",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1932_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. ภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ. 2562",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126297"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. ภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ. 2562",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1929_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. กำหนดแผนและขั้นตอนการกระจายอำนาจให้แก่องค์กรปกครองส่วนท้องถิ่น พ.ศ. 2542แก้ไขเพิ่มเติมถึง (ฉ.2) พ.ศ. 2549",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126296"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. กำหนดแผนและขั้นตอนการกระจายอำนาจให้แก่องค์กรปกครองส่วนท้องถิ่น พ.ศ. 2542แก้ไขเพิ่มเติมถึง (ฉ.2) พ.ศ. 2549",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1933_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. การเข้าชื่อเสนอข้อบัญญัติท้องถิ่น พ.ศ. 2565",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126295"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. การเข้าชื่อเสนอข้อบัญญัติท้องถิ่น พ.ศ. 2565",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1931_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. การสาธารณสุข พ.ศ. 2535 แก้ไขเพิ่มเติมถึง (ฉ.3) พ.ศ. 2560",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126294"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. การสาธารณสุข พ.ศ. 2535 แก้ไขเพิ่มเติมถึง (ฉ.3) พ.ศ. 2560",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1928_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พ.ร.บ. การจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=126293"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พ.ร.บ. การจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2023/3/1934_1.pdf?time=1679029199490"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พระราชบัญญัติการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ.2560",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123843"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พระราชบัญญัติการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ.2560",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2017/3/1366_1.pdf?time=1601357792777"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยการรับเงิน การเบิกจ่ายเงิน การฝากเงิน การเก็บรักษาเงินและการตรวจเงินขององค์กรปกครองส่วนท้องถิ่น พ.ศ 2547 แก้ไขเพิ่มเติม(ฉบับที่ 4) พ.ศ.2561",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123842"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยการรับเงิน การเบิกจ่ายเงิน การฝากเงิน การเก็บรักษาเงินและการตรวจเงินขององค์กรปกครองส่วนท้องถิ่น พ.ศ 2547 แก้ไขเพิ่มเติม(ฉบับที่ 4) พ.ศ.2561",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s123795.pdf"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยเงินอุดหนุนขององค์กรปกครองส่วนท้องถิ่น (ฉบับที่2) พ.ศ.2563",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123841"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยเงินอุดหนุนขององค์กรปกครองส่วนท้องถิ่น (ฉบับที่2) พ.ศ.2563",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s123794.pdf"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยการจัดหาประโยชน์ในทรัพย์สินขององค์กรปกครองส่วนท้องถิ่น พ.ศ. 2543",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123840"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยการจัดหาประโยชน์ในทรัพย์สินขององค์กรปกครองส่วนท้องถิ่น พ.ศ. 2543",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type2/2550/04/reg1177909453546.pdf?time=1561948560387"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทย ว่าด้วยการลาของผู้บริหารท้องถิ่น ผู้ช่วยผู้บริหารท้องถิ่น และสมาชิกสภาท้องถิ่น พ.ศ.2547",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123839"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทย ว่าด้วยการลาของผู้บริหารท้องถิ่น ผู้ช่วยผู้บริหารท้องถิ่น และสมาชิกสภาท้องถิ่น พ.ศ.2547",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s123793.pdf"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยการกู้เงินขององค์การบริหารส่วนตำบล พ.ศ.2563",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123838"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยการกู้เงินขององค์การบริหารส่วนตำบล พ.ศ.2563",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s123791.pdf"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยการจัดทำแผนพัฒนาขององค์กรปกครองส่วนท้องถิ่น (ฉบับที่ 3) พ.ศ.2561",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123837"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยการจัดทำแผนพัฒนาขององค์กรปกครองส่วนท้องถิ่น (ฉบับที่ 3) พ.ศ.2561",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type2/2018/10/1674_1.pdf?time=1552443398353"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กฎหมายว่าด้วยการจัดตั้งองค์กรปกครองส่วนท้องถิ่น",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123836"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s121054."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "กฎหมายว่าด้วยการจัดตั้งองค์กรปกครองส่วนท้องถิ่น",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s121054.pdf"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พระราชบัญญัติกำหนดแผนและขั้นตอนการกระจายอำนาจให้แก่องค์กรปกคครองส่วนท้องถิ่นพ.ศ.2542 แก้ไขเพิ่มเติม(ฉบับที่ 2)พ.ศ.2549",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123835"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "พระราชบัญญัติกำหนดแผนและขั้นตอนการกระจายอำนาจให้แก่องค์กรปกคครองส่วนท้องถิ่นพ.ศ.2542 แก้ไขเพิ่มเติม(ฉบับที่ 2)พ.ศ.2549",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s121056.pdf"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยข้อบังคับการประชุมสภาท้องถิ่น พ.ศ.๒๕๔๗ (แก้ไขเพิ่มเติมถึง (ฉบับที่ ๒) พ.ศ.๒๕๕๔)",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123834"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยข้อบังคับการประชุมสภาท้องถิ่น พ.ศ.๒๕๔๗ (แก้ไขเพิ่มเติมถึง (ฉบับที่ ๒) พ.ศ.๒๕๕๔)",
|
||||||
|
"href": "https://ladsawai.go.th/#"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยวิธีการงบประมาณขององค์กรปกครองส่วนท้องถิ่น พ.ศ.2563",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=123833"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยวิธีการงบประมาณขององค์กรปกครองส่วนท้องถิ่น พ.ศ.2563",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s123790.pdf"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยข้อบังคับการประชุมสภาท้องถิ่น พ.ศ.2547แก้ไขเพิ่มเติมถึง(ฉบับที่2)พ.ศ.2554",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=121057"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยข้อบังคับการประชุมสภาท้องถิ่น พ.ศ.2547แก้ไขเพิ่มเติมถึง(ฉบับที่2)พ.ศ.2554",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s121057.pdf"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยเงินบำเหน็จบำนาญข้าราชการส่วนท้องถิ่น (ฉบับที่ 3) พ.ศ. 2563 และระเบียบกระทรวงมหาดไทยว่าด้วยเงินบำเหน็จบำนาญข้าราชการส่วนท้องถิ่น (ฉบับที่ 4) พ.ศ. 2563",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=119759"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยเงินบำเหน็จบำนาญข้าราชการส่วนท้องถิ่น (ฉบับที่ 3) พ.ศ. 2563 และระเบียบกระทรวงมหาดไทยว่าด้วยเงินบำเหน็จบำนาญข้าราชการส่วนท้องถิ่น (ฉบับที่ 4) พ.ศ. 2563",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type2/2020/10/1889_1.pdf?time=1610694942904"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยวิธีการงบประมาณขององค์กรปกครองส่วนท้องถิ่นพ.ศ.2563(ใช้บังคับเมื่อวันที่ 25 พฤศจิกายน 2563)",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=121058"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยวิธีการงบประมาณขององค์กรปกครองส่วนท้องถิ่นพ.ศ.2563(ใช้บังคับเมื่อวันที่ 25 พฤศจิกายน 2563)",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s121058.PDF"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยเงินอุดหนุนขององค์กรปกครองส่วนท้องถิ่นพ.ศ.2559แก้ไขเพิ่มเติมถึง(ฉบับที่2)พ.ศ.2563",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=121062"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยเงินอุดหนุนขององค์กรปกครองส่วนท้องถิ่นพ.ศ.2559แก้ไขเพิ่มเติมถึง(ฉบับที่2)พ.ศ.2563",
|
||||||
|
"href": "http://www.inthai.info/UserFiles/rss/s121062.pdf"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบสำนักนายกรัฐมนตรีว่าด้วยการพิจารณาชี้ขาดการยุติข้อพิพาทระหว่างหน่วยงานของรัฐและการดำเนินคดี พ.ศ. 2561",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=117604"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบสำนักนายกรัฐมนตรีว่าด้วยการพิจารณาชี้ขาดการยุติข้อพิพาทระหว่างหน่วยงานของรัฐและการดำเนินคดี พ.ศ. 2561",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type2/2020/2/1862_1.pdf?time=1592206024357"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กฎกระทรวง การงดหรือลดเบี้ยปรับ พ.ศ. 2562",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=117603"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "กฎกระทรวง การงดหรือลดเบี้ยปรับ พ.ศ. 2562",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type2/2020/1/1858_1.pdf?time=1592206024357"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กฎกระทรวง กำหนดหลักเกณฑ์ วิธีการ และเงื่อนไข ในการคำนวณมูลค่าที่ดินหรือสิ่งปลูกสร้างที่ไม่มีราคาประเมินทุนทรัพย์ พ.ศ. 2562",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=117602"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "กฎกระทรวง กำหนดหลักเกณฑ์ วิธีการ และเงื่อนไข ในการคำนวณมูลค่าที่ดินหรือสิ่งปลูกสร้างที่ไม่มีราคาประเมินทุนทรัพย์ พ.ศ. 2562",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type2/2020/1/1857_1.pdf?time=1592206024357"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยเงินช่วยค่าครองชีพผู้รับบำนาญของราชการส่วนท้องถิ่น (ฉบับที่ 17) พ.ศ. 2562",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=117601"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยเงินช่วยค่าครองชีพผู้รับบำนาญของราชการส่วนท้องถิ่น (ฉบับที่ 17) พ.ศ. 2562",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type2/2019/11/1834_1.pdf?time=1592206024357"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกระทรวงมหาดไทยว่าด้วยการดำเนินการตามพระราชบัญญัติภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ. 2562 พ.ศ. 2562",
|
||||||
|
"detail": null,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"text": null,
|
||||||
|
"href": "http://www.inthai.info/_rss/read.php?item=118563"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "ระเบียบกระทรวงมหาดไทยว่าด้วยการดำเนินการตามพระราชบัญญัติภาษีที่ดินและสิ่งปลูกสร้าง พ.ศ. 2562 พ.ศ. 2562",
|
||||||
|
"href": "https://www.dla.go.th/download/upload/regulation/type1/2019/8/1799_1.pdf?time=1601357792777"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/rss/data/rules/menu/1221"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
2374
การบริหารและพัฒนาทรัพยากรบุคคล/debug-menu-1196-catid-80-page-1.html
Normal file
2374
การบริหารและพัฒนาทรัพยากรบุคคล/debug-menu-1196-catid-80-page-1.html
Normal file
File diff suppressed because one or more lines are too long
185
การบริหารและพัฒนาทรัพยากรบุคคล/menu-1196-catid-80-all.json
Normal file
185
การบริหารและพัฒนาทรัพยากรบุคคล/menu-1196-catid-80-all.json
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
{
|
||||||
|
"menuId": 1196,
|
||||||
|
"catid": 80,
|
||||||
|
"totalPages": 3,
|
||||||
|
"scrapedAt": "2025-12-19T04:55:58.024Z",
|
||||||
|
"totalItems": 22,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "แผนการบริหารและพัฒนาทรัพยากรบุคคล",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3241/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8665/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3241/files_8665_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประมวลจริยธรรมและการขับเคลื่อนจริยธรรม",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3226/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8668/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3226/files_8668_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "คู่มือการปฏิบัติงานสำหรับเจ้าหน้าที่เทศบาลเมืองลาดสวาย",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/2390/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8673/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2390/files_8673_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประมวลจริยธรรมผู้บริหารท้องถิ่น",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3203/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7769/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3203/files_7769_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประมวลจริยธรรมสมาชิกสภาท้องถิ่น",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3206/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7776/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3206/files_7776_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการมาตรฐานการบริหารงานบุคคลส่วนท้องถิ่น เรื่อง ประมวลจริยธรรมพนักงานส่วนท้องถิ่น",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3209/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7780/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3209/files_7780_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประมวลจริยธรรมสำหรับเจ้าหน้าที่ของเทศบาลเมืองลาดสวาย",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/988/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2526/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_988/files_2526_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แผนพัฒนาบุคลากร 3 ปี ของเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2567 - 2569",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/2970/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7216/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2970/files_7216_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "นโยบายการบริหารทรัพยากรบุคคล",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/987/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2524/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_987/files_2524_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การบริหารและพัฒนาทรัพยากรบุคคล",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/990/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2530/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_990/files_2530_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รายงานผลการสำรวจความพึงพอใจเเละจูงใจในการทำงงานของบุคลากรในสังกัดเทศบาลลาดสวาย",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1545/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3782/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1545/files_3782_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การพัฒนาบุคลากร",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1499/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3671/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1499/files_3671_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การสรรหาและคัดเลือกบุคลากร",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1498/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3669/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1498/files_3669_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การให้คุณให้โทษและสร้างขวัญกำลังใจ",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1496/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3665/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1496/files_3665_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การสรรหาและคัดเลือกบุคคลากร",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1495/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3663/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1495/files_3663_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง กำหนดหลักสูตรการพัฒนาและปฐมนิเทศข้าราชการหรือพนักงานส่วนท้องถิ่น",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1494/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3661/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1494/files_3661_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การบรรจุแต่งตั้งบุคลากร",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1493/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3659/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1493/files_3659_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง ประกาศ ก.จ. ก.ท. และ ก.อยต. เรื่อง มาตรฐานทั่วไปเกี่ยวกับหลักเกณฑ์ และวิธีการประเมินผลการปฏิบัติงาน ของข้าราชการหรือพนักงานส่วนท้องถิ่น (ฉบับที่ ๒) พ.ศ. ๒๕๖๓",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1491/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3655/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1491/files_3655_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แบบประเมินการปฏิบัติงาน",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/989/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2528/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_989/files_2528_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์และวิธีการประเมินผลการปฏิบัติราชการ",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/986/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2522/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_986/files_2522_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "มาตรฐานกำหนดตำแหน่ง",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/985/menu/1196/page/3/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2520/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_985/files_2520_1.pdf",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกฏหมายที่เกี่ยวข้องงานบุคคล",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/984/menu/1196/page/3/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2518/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_984/files_2518_8.pdf",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/3"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,90 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1",
|
||||||
|
"scrapedAt": "2025-12-19T04:55:33.297Z",
|
||||||
|
"menuId": 1196,
|
||||||
|
"catid": 80,
|
||||||
|
"page": 1,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "แผนการบริหารและพัฒนาทรัพยากรบุคคล",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3241/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8665/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3241/files_8665_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประมวลจริยธรรมและการขับเคลื่อนจริยธรรม",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3226/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8668/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3226/files_8668_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "คู่มือการปฏิบัติงานสำหรับเจ้าหน้าที่เทศบาลเมืองลาดสวาย",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/2390/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/8673/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2390/files_8673_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประมวลจริยธรรมผู้บริหารท้องถิ่น",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3203/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7769/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3203/files_7769_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประมวลจริยธรรมสมาชิกสภาท้องถิ่น",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3206/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7776/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3206/files_7776_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประกาศคณะกรรมการมาตรฐานการบริหารงานบุคคลส่วนท้องถิ่น เรื่อง ประมวลจริยธรรมพนักงานส่วนท้องถิ่น",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/3209/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7780/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_3209/files_7780_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประมวลจริยธรรมสำหรับเจ้าหน้าที่ของเทศบาลเมืองลาดสวาย",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/988/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2526/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_988/files_2526_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แผนพัฒนาบุคลากร 3 ปี ของเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2567 - 2569",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/2970/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/7216/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_2970/files_7216_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "นโยบายการบริหารทรัพยากรบุคคล",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/987/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2524/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_987/files_2524_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การบริหารและพัฒนาทรัพยากรบุคคล",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/990/menu/1196/page/1/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2530/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_990/files_2530_1.pdf",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,90 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2",
|
||||||
|
"scrapedAt": "2025-12-19T04:55:51.807Z",
|
||||||
|
"menuId": 1196,
|
||||||
|
"catid": 80,
|
||||||
|
"page": 2,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "รายงานผลการสำรวจความพึงพอใจเเละจูงใจในการทำงงานของบุคลากรในสังกัดเทศบาลลาดสวาย",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1545/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3782/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1545/files_3782_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การพัฒนาบุคลากร",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1499/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3671/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1499/files_3671_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การสรรหาและคัดเลือกบุคลากร",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1498/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3669/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1498/files_3669_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การให้คุณให้โทษและสร้างขวัญกำลังใจ",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1496/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3665/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1496/files_3665_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การสรรหาและคัดเลือกบุคคลากร",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1495/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3663/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1495/files_3663_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง กำหนดหลักสูตรการพัฒนาและปฐมนิเทศข้าราชการหรือพนักงานส่วนท้องถิ่น",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1494/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3661/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1494/files_3661_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์การบรรจุแต่งตั้งบุคลากร",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1493/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3659/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1493/files_3659_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เรื่อง ประกาศ ก.จ. ก.ท. และ ก.อยต. เรื่อง มาตรฐานทั่วไปเกี่ยวกับหลักเกณฑ์ และวิธีการประเมินผลการปฏิบัติงาน ของข้าราชการหรือพนักงานส่วนท้องถิ่น (ฉบับที่ ๒) พ.ศ. ๒๕๖๓",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/1491/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/3655/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_1491/files_3655_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "แบบประเมินการปฏิบัติงาน",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/989/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2528/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_989/files_2528_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "หลักเกณฑ์และวิธีการประเมินผลการปฏิบัติราชการ",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/986/menu/1196/page/2/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2522/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_986/files_2522_1.pdf",
|
||||||
|
"sourcePage": 2,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/3",
|
||||||
|
"scrapedAt": "2025-12-19T04:55:58.022Z",
|
||||||
|
"menuId": 1196,
|
||||||
|
"catid": 80,
|
||||||
|
"page": 3,
|
||||||
|
"count": 2,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "มาตรฐานกำหนดตำแหน่ง",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/985/menu/1196/page/3/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2520/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_985/files_2520_1.pdf",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ระเบียบกฏหมายที่เกี่ยวข้องงานบุคคล",
|
||||||
|
"detailUrl": "https://ladsawai.go.th/public/list/data/detail/id/984/menu/1196/page/3/catid/80",
|
||||||
|
"fileUrl": "https://ladsawai.go.th/public/centermodules/data/loadattach/id/2518/seq/1",
|
||||||
|
"filePath": "https://ladsawai.go.th/public/list_upload/backend/list_984/files_2518_8.pdf",
|
||||||
|
"sourcePage": 3,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/datacategory/catid/80/menu/1196/page/3"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
18344
กิจกรรม/list-menu-1559-all.json
Normal file
18344
กิจกรรม/list-menu-1559-all.json
Normal file
File diff suppressed because one or more lines are too long
233
กิจกรรม/list-menu-1559-page-1.json
Normal file
233
กิจกรรม/list-menu-1559-page-1.json
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1",
|
||||||
|
"scrapedAt": "2025-12-19T07:09:04.393Z",
|
||||||
|
"menuId": 1559,
|
||||||
|
"page": 1,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "ลงพื้นที่ตรวจสอบการดูดโคลนเลนในท่อระบายน้ำเพื่อป้องกันน้ำท่วมขัง และให้น้ำไหลเวียนดีขึ้น ในพื้นที่เขตตำบลลาดสวาย",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3826/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_9269_1.jpg?931",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_9269_2.jpg?961",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_9269_3.jpg?848",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_9269_4.jpg?358",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_9269_5.jpg?808",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_9269_6.jpg?18",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_9269_7.jpg?483",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_9269_8.jpg?934",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_9269_9.jpg?56"
|
||||||
|
],
|
||||||
|
"content": "ข่าวประชาสัมพันธ์: เทศบาลเมืองลาดสวาย\nวันที่ 9 ธันวาคม 2568 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยคณะผู้บริหาร และสมาชิกสภาเทศบาลเมืองลาดสวาย ลงพื้นที่ตรวจสอบการดูดโคลนเลนในท่อระบายน้ำเพื่อป้องกันน้ำท่วมขัง และให้น้ำไหลเวียนดีขึ้น ในพื้นที่เขตตำบลลาดสวาย อำเภอลำลูกกา จังหวัดปทุมธานี"
|
||||||
|
},
|
||||||
|
"date": "9 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3826/pics_topic_3826_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ลงพื้นที่ช่วยเหลือและฟื้นฟู อ.หาดใหญ่ จังหวัดสงขลา ที่ได้รับผลกระทบจากอุทกภัยครั้งใหญ่",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3825/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_1.jpg?167",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_2.jpg?728",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_3.jpg?853",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_4.jpg?463",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_5.jpg?517",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_6.jpg?354",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_7.jpg?830",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_8.jpg?751",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_9.jpg?129",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_10.jpg?195",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_11.jpg?15",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_12.jpg?759",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_13.jpg?55",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_9266_14.jpg?915"
|
||||||
|
],
|
||||||
|
"content": "ข่าวประชาสัมพันธ์ : เทศบาลเมืองลาดสวาย\nเทศบาลเมืองลาดสวาย นำโดย นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย ส่งทีมเจ้าหน้าที่ป้องกันและบรรเทาสาธารณภัยเทศบาลเมืองลาดสวาย\nลงพื้นที่ช่วยเหลือและฟื้นฟู อ.หาดใหญ่ จังหวัดสงขลา ที่ได้รับผลกระทบจากอุทกภัยครั้งใหญ่"
|
||||||
|
},
|
||||||
|
"date": "8 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3825/pics_topic_3825_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประชุมสภาเทศบาลเมืองลาดสวาย สมัยสามัญ สมัยที่ 4 ครั้งที่ 1 ประจำปี พ.ศ. 2568",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3824/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_1.jpg?722",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_2.jpg?202",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_3.jpg?355",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_4.jpg?678",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_5.jpg?59",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_6.jpg?310",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_7.jpg?27",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_8.jpg?459",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_9.jpg?171",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_10.jpg?829",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_11.jpg?892",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_12.jpg?535",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_9263_13.jpg?461"
|
||||||
|
],
|
||||||
|
"content": "การประชุมสภาเทศบาลเมืองลาดสวาย สมัยสามัญ สมัยที่ 4 ครั้งที่ 1 ประจำปี พ.ศ. 2568\nวันจันทร์ที่ 8 ธันวาคม พ.ศ. 2568 เวลา 10.00 น.\nณ ห้องประชุมสภาเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "8 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3824/pics_topic_3824_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชุมคณะกรรมการพัฒนาเทศบาลเมืองลาดสวาย พิจารณา (ร่าง) แผนพัฒนาท้องถิ่น (พ.ศ.2566-2570) ฉบับทบทวน ครั้งที่ 1/2566 เปลี่ยนแปลง ครั้งที่ 3/2568",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3823/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_1.jpg?642",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_2.jpg?517",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_3.jpg?538",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_4.jpg?973",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_5.jpg?241",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_6.jpg?659",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_7.jpg?48",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_8.jpg?188",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_9.jpg?763",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_10.jpg?542",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_11.jpg?767",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_12.jpg?897",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_9260_13.jpg?802"
|
||||||
|
],
|
||||||
|
"content": "ข่าวประชาสัมพันธ์ : เทศบาลเมืองลาดสวาย\nวันที่ 4 ธันวาคม 2568 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยนายชัยสุวรรณ อ่วมเกตุลักษณ์ รองนายกเทศมนตรีเมืองลาดสวาย นายทวี ภูมิทอง รองนายกเทศมนตรีเมืองลาดสวาย นางวาสนา การุณรักษ์ รองปลัดเทศบาล หัวหน้าส่วนราชการ คณะกรรมการ\nเข้าร่วมประชุมคณะกรรมการพัฒนาเทศบาลเมืองลาดสวาย พิจารณา (ร่าง) แผนพัฒนาท้องถิ่น (พ.ศ.2566-2570) ฉบับทบทวน ครั้งที่ 1/2566 เปลี่ยนแปลง ครั้งที่ 3/2568 ณ ห้องประชุมสภาเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "4 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3823/pics_topic_3823_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชุมหัวหน้าส่วนราชการ หัวหน้าหน่วยงานรัฐวิสาหกิจ องค์กรปกครองส่วนท้องถิ่น ฯลฯ ครั้งที่ 12/2568",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3822/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_9257_1.jpg?509",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_9257_2.jpg?112",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_9257_3.jpg?689",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_9257_4.jpg?179",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_9257_5.jpg?766",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_9257_6.jpg?514",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_9257_7.jpg?422",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_9257_8.jpg?620",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_9257_9.jpg?875"
|
||||||
|
],
|
||||||
|
"content": "ข่าวประชาสัมพันธ์ : เทศบาลเมืองลาดสวาย\nวันอังคารที่ 2 ธันวาคม 2568 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย มอบหมายให้นายอิทธิเดช ผาสุข รองนายกเทศมนตรีเมืองลาดสวาย เข้าร่วมประชุมหัวหน้าส่วนราชการ หัวหน้าหน่วยงานรัฐวิสาหกิจ องค์กรปกครองส่วนท้องถิ่น ฯลฯ ครั้งที่ 12/2568 ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "2 ธ.ค. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3822/pics_topic_3822_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ร่วมจัดรถบรรทุกเพื่อนำสิ่งของบริจาคช่วยเหลือผู้ประสบภัยน้ำท่วมส่งไปยัง”กองทัพอากาศ“เพื่อลำเลียงช่วยเหลือผู้ประสบอุทกภัยน้ำท่วมภาคใต้",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3821/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3821/pics_9254_1.jpg?458",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3821/pics_9254_2.jpg?650",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3821/pics_9254_3.jpg?201",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3821/pics_9254_4.jpg?394",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3821/pics_9254_5.jpg?566"
|
||||||
|
],
|
||||||
|
"content": "ข่าวประชาสัมพันธ์ : เทศบาลเมืองลาดสวาย\nนายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยนายเสริมศักดิ์ คุณดิลกประเสริฐ เลขานุการนายกเทศมนตรีเมืองลาดสวาย นางสำลี สังวาลย์เงิน ประธานชมรมผู้สูงอายุเทศบาลเมืองลาดสวาย และสมาชิกสภาเทศบาลเมืองลาดสวาย\nร่วมจัดรถบรรทุกเพื่อนำสิ่งของบริจาคช่วยเหลือผู้ประสบภัยน้ำท่วมส่งไปยัง”กองทัพอากาศ“เพื่อลำเลียงช่วยเหลือผู้ประสบอุทกภัยน้ำท่วมภาคใต้"
|
||||||
|
},
|
||||||
|
"date": "27 พ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3821/pics_topic_3821_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ลงพื้นที่เยี่ยมผู้ป่วยติดเตียง พร้อมทั้งมอบเตียงผู้ป่วย เครื่องอุปโภคให้แก่ประชาชน ในโครงการจัดหาอุปกรณ์กาแพทย์สำหรับผู้มีภาวะพึ่งพิง",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3812/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3812/pics_9235_1.jpg?59",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3812/pics_9235_2.jpg?540",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3812/pics_9235_3.jpg?245",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3812/pics_9235_4.jpg?540",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3812/pics_9235_5.jpg?304",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3812/pics_9235_6.jpg?237",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3812/pics_9235_7.jpg?819"
|
||||||
|
],
|
||||||
|
"content": "ข่าวประชาสัมพันธ์ : เทศบาลเมืองลาดสวาย\nวันที่ 25 พฤศจิกายน 2568 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย มอบหมายให้นายอิทธิเดช ผาสุข รองนายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยนายทวี ภูมิทอง รองนายกเทศมนตรีเมืองลาดสวาย นางสำลี สังวาลย์เงิน ประธานชมรมผู้สูงอายุเทศบาลเมืองลาดสวาย สมาชิกสภาเทศบาล และเจ้าหน้าที่กองสวัสดิการสังคมร่วมกับเจ้าหน้าที่กองสาธารณสุขและสิ่งแวดล้อม\nลงพื้นที่เยี่ยมผู้ป่วยติดเตียง พร้อมทั้งมอบเตียงผู้ป่วย เครื่องอุปโภคให้แก่ประชาชน ในโครงการจัดหาอุปกรณ์กาแพทย์สำหรับผู้มีภาวะพึ่งพิง เพื่อเป็นการส่งเสริมคุณภาพชีวิตที่ดีของประชาชนในพื้นที่"
|
||||||
|
},
|
||||||
|
"date": "25 พ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3812/pics_topic_3812_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการส่งเสริมสุขภาพกลุ่มสตรีเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ.2569",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3811/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3811/pics_9232_1.jpg?358",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3811/pics_9232_2.jpg?466",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3811/pics_9232_3.jpg?191",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3811/pics_9232_4.jpg?885",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3811/pics_9232_5.jpg?951",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3811/pics_9232_6.jpg?44",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3811/pics_9232_7.jpg?469"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 24 พฤศจิกายน 2568 เวลา 09.00 น. นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวายมอบหมายให้ นายทวี ภูมิทอง รองนายกเทศมนตรีเมืองลาดสวาย กล่าวเปิดการอบรมโครงการส่งเสริมสุขภาพกลุ่มสตรีเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ.2569\nเพื่อให้ความรู้แก่กลุ่มสตรีในการดูแลสุขภาพของตน ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "24 พ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3811/pics_topic_3811_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "พิธีทำบุญถวายภัตตาหารเพลแด่พระสงฆ์ จำนวน 9 รูป เพื่อความเป็นสิริมงคลแก่เจ้าหน้าที่ผู้ปฏิบัติงานและผู้มาใช้บริการ ณ ศูนย์การแพทย์เทศบาลเมืองลาดสวาย ชั้น 3",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3810/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3810/pics_9229_1.jpg?829",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3810/pics_9229_2.jpg?235",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3810/pics_9229_3.jpg?819",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3810/pics_9229_4.jpg?808",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3810/pics_9229_5.jpg?373",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3810/pics_9229_6.jpg?951",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3810/pics_9229_7.jpg?84"
|
||||||
|
],
|
||||||
|
"content": "ข่าวประชาสัมพันธ์ : เทศบาลเมืองลาดสวาย\nวันที่ 19 พฤศจิกายน 2568 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยนายอิทธิเดช ผาสุข นายทวี ภูมิทอง รองนายกเทศมนตรีเมืองลาดสวาย นางสำลี สังวาลย์เงิน ประธานชมรมผู้สูงอายุเทศบาลเมืองลาดสวาย สมาชิกสภาเทศบาล นายสุรพัศ ลิ่มวงศ์ ปลัดเทศบาล นางสาววาสนา การุณรักษ์ รองปลัดเทศบาล หัวหน้าส่วนราชการ และพนักงานเทศบาลเมืองลาดสวาย\nร่วมพิธีทำบุญถวายภัตตาหารเพลแด่พระสงฆ์ จำนวน 9 รูป เพื่อความเป็นสิริมงคลแก่เจ้าหน้าที่ผู้ปฏิบัติงานและผู้มาใช้บริการ ณ ศูนย์การแพทย์เทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "19 พ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3810/pics_topic_3810_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการส่งเสริมสุขภาพชมรมผู้สูงอายุเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2568",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3809/menu/1559/page/1",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_1.jpg?29",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_2.jpg?378",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_3.jpg?369",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_4.jpg?3",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_5.jpg?731",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_6.jpg?683",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_7.jpg?104",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_8.jpg?807",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_9.jpg?480",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_9226_10.jpg?515"
|
||||||
|
],
|
||||||
|
"content": "ข่าวประชาสัมพันธ์ : เทศบาลเมืองลาดสวาย\nวันอังคารที่ 18 พฤศจิกายน 2568 เวลา 09.00 น. นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยคณะผู้บริหาร สมาชิกสภาเทศบาล และสมาชิกชมรมผู้สูงอายุในเขตเทศบาลเมืองลาดสวาย\nร่วมกิจกรรมโครงการส่งเสริมสุขภาพชมรมผู้สูงอายุเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ. 2568 ณ บริเวณอาคารโรงจอดรถเทศบาลเมืองลาดสวาย"
|
||||||
|
},
|
||||||
|
"date": "18 พ.ย. 2568",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3809/pics_topic_3809_thumbnail.jpg",
|
||||||
|
"sourcePage": 1,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
233
กิจกรรม/list-menu-1559-page-10.json
Normal file
233
กิจกรรม/list-menu-1559-page-10.json
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10",
|
||||||
|
"scrapedAt": "2025-12-19T07:11:52.752Z",
|
||||||
|
"menuId": 1559,
|
||||||
|
"page": 10,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "กิจกรรมการให้ความรู้เรื่องสุขภาพ 6 อ ตามโครงการ บาสโลปเพื่อสุขภาพ หมู่ที่ 8 ณ ลานอเนกประสงค์ หมู่ที่ 8 ตำบลลาดสวาย อำเภอลำลูกกา จังหวัดปทุมธานี",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3462/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3462/pics_8406_1.jpg?546",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3462/pics_8406_2.jpg?749",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3462/pics_8406_3.jpg?711",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3462/pics_8406_4.jpg?464"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 21 ธันวาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย มอบหมายให้ นายอิทธิเดช ผาสุข รองนายกเทศมนตรีเมืองลาดสวายเป็นประธานกล่าวเปิดการอบรมกิจกรรมการให้ความรู้เรื่องสุขภาพ 6 อ ตามโครงการ บาสโลปเพื่อสุขภาพ หมู่ที่ 8 ณ ลานอเนกประสงค์ หมู่ที่ 8 ตำบลลาดสวาย อำเภอลำลูกกา จังหวัดปทุมธานี โดยมีนางสาวจรรยา ขันฮะ เลขานุการนายกเทศมนตรี และสมาชิกสภาเทศบาลร่วมเป็นเกียรติในกิจกรรรม ซึ่งโครงการดังกล่าวได้รับการสนับสนุนงบประมาณจากกองทุนหลักประกันสุขภาพเทศบาลเมืองลาดสวาย"
|
||||||
|
},
|
||||||
|
"date": "21 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3462/pics_topic_3462_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการรู้เท่าทันภัยคุกคามไซเบอร์และป้องกันการตั้งครรภ์ในวัยเรียน",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3461/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3461/pics_8403_1.jpg?981",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3461/pics_8403_2.jpg?667",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3461/pics_8403_3.jpg?157",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3461/pics_8403_4.jpg?661"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 18 ธันวาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เป็นประธานในพิธีเปิดการอบรมโครงการรู้เท่าทันภัยคุกคามไซเบอร์และป้องกันการตั้งครรภ์ในวัยเรียน ให้แก่นักเรียนของโรงเรียนวัดคลองชัน ณ โรงเรียนวัดคลองชัน ตำบลลาดสวาย อำเภอลำลูกกา จังหวัดปทุมธานี"
|
||||||
|
},
|
||||||
|
"date": "18 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3461/pics_topic_3461_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการฝึกอบรมสัมมนาและศึกษาดูงานบุคลากรสังกัดเทศบาลเมืองลาดสวาย ฝึกอบรมกฎหมายพื้นฐานของเจ้าหน้าที่เทศกิจ",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3460/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3460/pics_8400_1.jpg?48",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3460/pics_8400_2.jpg?181",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3460/pics_8400_3.jpg?301",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3460/pics_8400_4.jpg?799",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3460/pics_8400_5.jpg?547"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 16 ธันวาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เป็นประธานในพิธีเปิดโครงการฝึกอบรมสัมมนาและศึกษาดูงานบุคลากรสังกัดเทศบาลเมืองลาดสวาย ฝึกอบรมกฎหมายพื้นฐานของเจ้าหน้าที่เทศกิจ โดยนายสุรพัศ ลิ่มวงศ์ ปลัดเทศบาลเมืองลาดสวายร่วมเป็นเกียรติในพิธีเปิด โดยเจ้าหน้าที่เทศกิจ กรุงเทพมหานคร ให้เกียรติเป็นวิทยากรในการฝึกอบรม ทั้งนี้ การอบรมดังกล่าวจะจัดขึ้นในระหว่างวันที่ 16-17 ธันวาคม 2567 ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "16 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3460/pics_topic_3460_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการอบรมส่งเสริมคุณธรรมจริยธรรมบุคลากรสังกัดเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ 2568",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3459/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3459/pics_8397_1.jpg?208",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3459/pics_8397_2.jpg?803",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3459/pics_8397_3.jpg?80",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3459/pics_8397_4.jpg?832",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3459/pics_8397_5.jpg?306"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 13 ธันวาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เป็นประธานในพิธีเปิดโครงการอบรมส่งเสริมคุณธรรมจริยธรรมบุคลากรสังกัดเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ 2568 ณ วัดปัญญานันทาราม ตำบลคลองหก อำเภอคลองหลวง จังหวัดปทุมธานี"
|
||||||
|
},
|
||||||
|
"date": "16 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3459/pics_topic_3459_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "โครงการอบรมสัมมนาและส่งเสริมสนับสนุนอาชีพต่าง ๆ แก่ผู้สนใจเข้าร่วมโครงการและกลุ่มอาชีพต่าง ๆในเขตเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ.2568",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3458/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3458/pics_8393_1.jpg?491",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3458/pics_8393_2.jpg?864",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3458/pics_8393_3.jpg?526",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3458/pics_8393_4.jpg?463"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 11 ธันวาคม พ.ศ. 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เป็นประธานพิธีเปิดโครงการอบรมสัมมนาและส่งเสริมสนับสนุนอาชีพต่าง ๆ แก่ผู้สนใจเข้าร่วมโครงการและกลุ่มอาชีพต่าง ๆในเขตเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ.2568 ซึ่งโครงการดังกล่าวจัดขึ้นในระหว่างวันที่ 11-13 ธันวาคม 2567 โดยมีนายทวี ภูมิทอง รองนายกเทศมนตรีเมืองลาดสวาย นายอุดร พัวพันธ์ เลขานุการนายกเทศมนตรี สมาชิกสภาเทศบาล นางสำลี สังวาลย์เงิน ประธานชมรมผุ้สูงอายุเทศบาลเมืองลาดสวาย และหัวหน้าส่วนราชการเทศบาลเมืองลาดสวาย ร่วมเป็นเกียรติในพิธีเปิดโครงการ ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "11 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3458/pics_topic_3458_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "รับรางวัลประกาศนียบัตรเชิดชูเกียรติ ITA Awards ประจำปีงบประมาณ พ.ศ. 2567",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3457/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3457/pics_8390_1.jpg?632",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3457/pics_8390_2.jpg?154",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3457/pics_8390_3.jpg?777"
|
||||||
|
],
|
||||||
|
"content": "วันจันทร์ที่ 9 ธันวาคม พ.ศ. 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เข้ารับรางวัลประกาศนียบัตรเชิดชูเกียรติ ITA Awards ประจำปีงบประมาณ พ.ศ. 2567 เป็นหน่วยงานที่ได้รับประเมินคุณธรรมและความโปร่งใสในการดำเนินงานของหน่วยงานภาครัฐ หน่วยงานที่มีผลคะแนนระดับ \"ผ่านดีเยี่ยม\" ณ หัองประชุมบัวหลวงปทุมธานี ศาลากลางจังหวัดปทุมธานี"
|
||||||
|
},
|
||||||
|
"date": "11 ธ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3457/pics_topic_3457_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "อบรมโครงการส่งเสริมสุขภาพกลุ่มสตรีเทศบาลเมืองลาดสวาย",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3427/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_1.jpg?104",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_2.jpg?39",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_3.jpg?822",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_4.jpg?362",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_5.jpg?824",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_6.jpg?664",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_7.jpg?574",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_8.jpg?52",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_9.jpg?200",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_10.jpg?227",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_11.jpg?388",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_12.jpg?172",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_13.jpg?900",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_14.jpg?842",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_15.jpg?874",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_16.jpg?215",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_17.jpg?349",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_18.jpg?117",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_8320_19.jpg?112"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 27 พฤศจิกายน 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวายมอบหมายให้นายทวี ภูมิทอง รองนายกเทศมนตรีเมืองลาดสวาย กล่าวเปิดการอบรมโครงการส่งเสริมสุขภาพกลุ่มสตรีเทศบาลเมืองลาดสวาย ประจำปีงบประมาณ พ.ศ.2568 โดยมีนายชัยสุวรรณ อ่วมเกตุลักษณ์ รองนายกเทศมนตรีเมืองลาดสวาย นางสาวจรรยา ขันฮะ นายอุดร พัวพันธ์ เลขานุการนายกเทศมนตรี นายฉลอง กิจฉัย ที่ปรึกษานายกเทศมนตรี นางสำลี สังวาลย์เงิน ประธานชมรมผู้สูงอายุ พร้อมด้วยสมาชิกสภาเทศบาล เข้าร่วมเป็นเกียรติในการฝึกอบรม ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "27 พ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3427/pics_topic_3427_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ดับ[ไฟไหม้กองขยะบริเวณซอยสุสวาส 18-20",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3430/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_1.jpg?229",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_2.jpg?136",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_3.jpg?399",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_4.jpg?840",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_5.jpg?504",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_6.jpg?746",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_7.jpg?296",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_8.jpg?630",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_9.jpg?443",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_8329_10.jpg?714"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 26 พฤศจิกายน 2567 เจ้าหน้าที่งานเทศกิจออกตรวจสอบไฟไหม้กองขยะบริเวณซอยสุสวาส 18-20 และได้ประสานเจ้าหน้าที่งานป้องกันและบรรเทาสาธารณภัยดำเนินการดับไฟเป็นที่เรียบร้อย"
|
||||||
|
},
|
||||||
|
"date": "26 พ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3430/pics_topic_3430_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การชึ้แจงงบประมาณรายจ่ายประจำปี 2568",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3317/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3317/pics_8089_1.jpg?169",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3317/pics_8089_2.jpg?344",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3317/pics_8089_3.jpg?356",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3317/pics_8089_4.jpg?936",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3317/pics_8089_5.jpg?146",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3317/pics_8089_6.jpg?59",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3317/pics_8089_7.jpg?326"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 25 กรกฎาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยนายสุรพัศ ลิ่มวงศ์ ปลัดเทศบาลเมืองลาดสวาย หัวหน้าส่วนราชการและพนักงานเทศบาลเมืองลาดสวาย เข้าร่วมการชี้แจงงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ.2568 (แผนงานพื้นฐานและแผนงานยุทธศาสตร์) เสนอต่อคณะอนุกรรมาธิการท้องถิ่น เทศบาลนคร เทศบาลเมือง เทศบาลตำบล และเงินอุดหนุนที่จัดสรรให้แก่องค์กรปกครองส่วนท้องถิ่น (องค์การบริหารส่วนตำบลขององค์กรปกครองส่วนท้องถิ่น งบประมาณรายจ่ายประจำปี 2568 สภาผู้แทนราษฎร ณ ห้องประชุมกรรมาธิการ C8 402 ชั้น 4 อาคารรัฐสภา กรุงเทพมหานคร"
|
||||||
|
},
|
||||||
|
"date": "25 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3317/pics_topic_3317_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประชุมคณะกรรมการพัฒนาเทศบาลเมืองลาดสวาย",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3310/menu/1559/page/10",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_1.jpg?432",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_2.jpg?260",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_3.jpg?935",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_4.jpg?281",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_5.jpg?892",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_6.jpg?888",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_7.jpg?436",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_8.jpg?907",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_9.jpg?919",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_10.jpg?487",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_11.jpg?134",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_12.jpg?494",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_13.jpg?444",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_14.jpg?204",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_15.jpg?675",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_16.jpg?204",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_17.jpg?574",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_18.jpg?106",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_19.jpg?471",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_20.jpg?953",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_21.jpg?231",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_22.jpg?403",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_23.jpg?509",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_24.jpg?145",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_25.jpg?612",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_26.jpg?19",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_27.jpg?107",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_28.jpg?587",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_29.jpg?473",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_30.jpg?974",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_31.jpg?139",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_32.jpg?45",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_8074_33.jpg?187"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 12 กรกฎาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เป็นประธานการประชุมคณะกรรมการพัฒนาเทศบาลเมืองลาดสวาย เพื่อพิจารณา(ร่าง) แผนพัฒนาท้องถิ่น (พ.ศ.2566 -2570) ฉบับทบทวน ครั้งที่ 1/2566 เพิ่มเติม ครั้งที่ 3/2567 และ (ร่าง) แผนพัฒนาท้องถิ่น (พ.ศ.2566 -2570) ฉบับทบทวน ครั้งที่ 1/2566 เบลี่ยนแปลง ครั้งที่ 3/2567 ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "12 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3310/pics_topic_3310_thumbnail.jpg",
|
||||||
|
"sourcePage": 10,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/10"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
489
กิจกรรม/list-menu-1559-page-11.json
Normal file
489
กิจกรรม/list-menu-1559-page-11.json
Normal file
@ -0,0 +1,489 @@
|
|||||||
|
{
|
||||||
|
"source": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11",
|
||||||
|
"scrapedAt": "2025-12-19T07:12:13.640Z",
|
||||||
|
"menuId": 1559,
|
||||||
|
"page": 11,
|
||||||
|
"count": 10,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "การประชุมประชาคมท้องถิ่นระดับเมือง",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3305/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_1.jpg?463",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_2.jpg?268",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_3.jpg?976",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_4.jpg?287",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_5.jpg?135",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_6.jpg?898",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_7.jpg?72",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_8.jpg?39",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_9.jpg?494",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_10.jpg?373",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_11.jpg?439",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_12.jpg?410",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_13.jpg?876",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_14.jpg?863",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_15.jpg?354",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_16.jpg?123",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_17.jpg?973",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_18.jpg?491",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_19.jpg?704",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_20.jpg?285",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_21.jpg?800",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_22.jpg?661",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_23.jpg?704",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_24.jpg?615",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_25.jpg?105",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_26.jpg?956",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_27.jpg?717",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_28.jpg?828",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_29.jpg?562",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_30.jpg?234",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_31.jpg?25",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_32.jpg?242",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_33.jpg?561",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_34.jpg?186",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_35.jpg?376",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8061_36.jpg?785",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_1.jpg?384",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_2.jpg?747",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_3.jpg?172",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_4.jpg?856",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_5.jpg?953",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_6.jpg?44",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_7.jpg?594",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_8.jpg?702",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_9.jpg?588",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_8062_10.jpg?598"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 12 กรกฎาคม 2567 นายอิทธิเดช ผาสุข รองนายกเทศมนตรีเมืองลาดสวาย ได้รับมอบหมายจากนายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เป็นประธานในการประชุมประชาคมท้องถิ่นระดับเมือง เพื่อพิจารณา(ร่าง) แผนพัฒนาท้องถิ่น (พ.ศ.2566 -2570) ฉบับทบทวน ครั้งที่ 1/2566 เพิ่มเติม ครั้งที่ 3/2567 ซึ่งเป็นการเพิ่มเติมโครงการที่เป็นประโยชน์ เพื่อตอบสนองความต้องการและบรรเทาความเดือดร้อนของประชาชนในเขตเทศบาลเมืองลาดสวาย ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "12 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3305/pics_topic_3305_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประชุมคณะกรรมการสนับสนุนการจัดทำแผนพัฒนาเทศบาลเมืองลาดสวาย",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3311/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_1.jpg?307",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_2.jpg?927",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_3.jpg?380",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_4.jpg?827",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_5.jpg?216",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_6.jpg?737",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_7.jpg?336",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_8.jpg?825",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_9.jpg?227",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_10.jpg?486",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_11.jpg?240",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_12.jpg?512",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_13.jpg?668",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_14.jpg?532",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_15.jpg?892",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_16.jpg?475",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_17.jpg?17",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_18.jpg?684",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_8077_19.jpg?158"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 11 กรกฎาคม 2567 นายสุรพัศ ลิ่มวงศ์ ปลัดเทศบาลเมืองลาดสวาย เป็นประธานการประชุมคณะกรรมการสนับสนุนการจัดทำแผนพัฒนาเทศบาลเมืองลาดสวาย เพื่อจัดทำ(ร่าง) แผนพัฒนาท้องถิ่น (พ.ศ.2566 -2570) ฉบับทบทวน ครั้งที่ 1/2566 เพิ่มเติม ครั้งที่ 3/2567 ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "11 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3311/pics_topic_3311_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กิจกรรมจิตอาสา เราทำความดีด้วยหัวใจ",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3299/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_1.jpg?645",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_2.jpg?652",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_3.jpg?544",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_4.jpg?869",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_5.jpg?11",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_6.jpg?662",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_7.jpg?382",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_8.jpg?481",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_9.jpg?179",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_10.jpg?485",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_11.jpg?586",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_12.jpg?494",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_13.jpg?212",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_14.jpg?387",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_15.jpg?422",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_16.jpg?340",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_17.jpg?468",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_18.jpg?25",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_19.jpg?397",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_20.jpg?900",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_21.jpg?63",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_22.jpg?820",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_23.jpg?62",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_24.jpg?394",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_25.jpg?899",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_26.jpg?20",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_27.jpg?228",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_28.jpg?955",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_29.jpg?599",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_30.jpg?602",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_31.jpg?761",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_32.jpg?814",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_33.jpg?591",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_34.jpg?438",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_35.jpg?405",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_36.jpg?591",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_37.jpg?467",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_38.jpg?719",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_8048_39.jpg?319"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 11 กรกฎาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยนายชัยสุวรรณ อ่วมเกตุลักษณ์ นายทวี ภูมิทอง รองนายกเทศมนตรีเมืองลาดสวาย นายเล็ก กลิ่นชื่น เลขานุการนายกเทศมนตรี นายฉลอง กิจฉัย ที่ปรึกษานายกเทศมนตรี สมาชิกสภาเทศบาล นางสำลี สังวาลย์เงิน ประธานชมรมผู้สูงอายุเทศบาลเมืองลาดสวาย พนักงานเทศบาลและเจ้าหน้าที่เทศบาลเมืองลาดสวาย ร่วมกิจกรรมจิตอาสา เราทำความดีด้วยหัวใจ จิตอาสาพัฒนา เนื่องในวันสวรรคตสมเด็จพระนารายณ์มหาราช โดยมีนายสมชาย ตรีณาวงษ์ นายอำเภอลำลูกกา เป็นประธานในพิธีถวายความเคารพพระบรมฉายาลักษณ์สมเด็จพระนารายณ์มหาราชและพระบาทสมเด็จพระเจ้าอยู่หัวฯ เพี่อแสดงออกถึงความจงรักภักดี ณ วัดคลองชัน ตำบลลาดสวาย อำเภอลำลูกกา จังหวัดปทุมธานี"
|
||||||
|
},
|
||||||
|
"date": "11 ก.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3299/pics_topic_3299_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประชุมเชิงปฏิบัติการเพื่อสนับสนุนการขับเคลื่อนมาตรการส่งเสริมคุณธรรมและความโปร่งใสภายในหน่วยงาน ประจำปีงบประมาณ พ.ศ. 2567",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3296/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3296/pics_8036_1.jpg?322",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3296/pics_8037_1.jpg?960",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3296/pics_8038_1.jpg?283",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3296/pics_8039_1.jpg?609",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3296/pics_8040_1.jpg?797",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3296/pics_8041_1.jpg?268",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3296/pics_8042_1.jpg?889"
|
||||||
|
],
|
||||||
|
"content": "วันพุธที่ 26 มิถุนายน 2567 สำนักงาน ป.ป.ช. ประจำจังหวัดปทุมธานี โดยกลุ่มงานป้องกันการทุจริต จัดกิจกรรมประชุมเชิงปฏิบัติการเพื่อสนับสนุนการขับเคลื่อนมาตรการส่งเสริมคุณธรรมและความโปร่งใสภายในหน่วยงานในพื้นที่จังหวัดปทุมธานี ประจำปีงบประมาณ พ.ศ. 2567 ตั้งแต่เวลา 08.30 - 16.00 น. ณ โรงแรมดิไอเดิล โฮเทล แอนด์ เรสวิเดนซ์ ตำบลคลองหนึ่ง อำเภอคลองหลวง จังหวัดปทุมธานี เทศบาลเมืองลาดสวายได้มอบหมายให้กลุ่มงานนิติการ สำนักปลัดเทศบาล เป็นผู้แทนเข้าร่วมกิจกรรมฯ เพื่อเป็นการยกระดับคะแนนและเตรียมความพร้อมในการประเมินคุณธรรมและความโปร่งใสการดำเนินงานของหน่วยงานภาครัฐ หรือ ITA ตามเป้าหมาย ซึ่งได้รับการตอบรับและมีหน่วยงานเข้าร่วม จำนวน 37 หน่วยงาน โดยมีกิจกรรมแสดงออกเชิงสัญลักษณ์รวมพลังต่อต้านการทุจริตคอร์รัปชันร่วมกัน"
|
||||||
|
},
|
||||||
|
"date": "26 มิ.ย. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3296/pics_topic_3296_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "กิจกรรมรับฟังความคิดเห็น เพื่อสร้างความเป็นธรรมในสังคม (Place Of Justice)",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3266/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_1.jpg?681",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_2.jpg?978",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_3.jpg?369",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_4.jpg?766",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_5.jpg?292",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_6.jpg?778",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_7.jpg?374",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_8.jpg?711",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_9.jpg?651",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_10.jpg?371",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_11.jpg?535",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_12.jpg?616",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_13.jpg?404",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_14.jpg?704",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_15.jpg?751",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_16.jpg?617",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_17.jpg?774",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_18.jpg?61",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_19.jpg?551",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_20.jpg?596",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_21.jpg?535",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_22.jpg?533",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_23.jpg?438",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_24.jpg?147",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_25.jpg?500",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_26.jpg?87",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_27.jpg?833",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_28.jpg?478",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_29.jpg?263",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_30.jpg?463",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_31.jpg?86",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_32.jpg?270",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_33.jpg?294",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_34.jpg?139",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_35.jpg?121",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_36.jpg?946",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_37.jpg?935",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_38.jpg?176",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_39.jpg?146",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_40.jpg?415",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_41.jpg?742",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_42.jpg?889",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_43.jpg?509",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_44.jpg?138",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_45.jpg?626",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_46.jpg?916",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_47.jpg?351",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_48.jpg?757",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_49.jpg?141",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_50.jpg?754",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_7951_51.jpg?64"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 23 พฤษภาคม 2567 นายอิทธิเดช ผาสุข รองนายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยนายสุรพัศ ลิ่มวงศ์ ปลัดเทศบาลเมืองลาดสวายร่วมเป็นเกียรติในพิธีเปิดและเข้าร่วมการจัดกิจกรรมรับฟังความคิดเห็น เพื่อสร้างความเป็นธรรมในสังคม (Place Of Justice) ซึ่งจัดโดยสำนักงานผู้ตรวจการแผ่นดิน ร่วมกับจังหวัดปทุมธานี และเทศบาลเมืองลาดสวาย ภายใต้การส่งเสริมการมีส่วนร่วมของทุกภาคส่วนในการแก้ไขความเดือดร้อนหรือความไม่เป็นธรรมแก่ประชาชน โดยนายทรงศัก สายเชื้อ ผู้ตรวจการแผ่นดิน เป็นประธานพิธี นายคมสัน ญาณวัฒนา รองผู้ว่าราชการจังหวัดปทุมธานี กล่าวรายงาน และนายสมชาย ตรีณาวงษ์ นายอำเภอลำลูกกา เข้าร่วมเป็นเกียรติในกิจกรรม ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "23 พ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3266/pics_topic_3266_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "เก็บขยะที่ติดในเครื่องสูบน้ำมอเตอร์ไฟฟ้า",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3267/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_1.jpg?818",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_2.jpg?211",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_3.jpg?638",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_4.jpg?486",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_5.jpg?776",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_6.jpg?712",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_7.jpg?630",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_8.jpg?946",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_9.jpg?299",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_7954_10.jpg?222"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 21 พฤษภาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย มอบหมายให้เจ้าหน้าที่งานป้องกันและบรรเทาสาธารณภัย ดำเนินการเก็บขยะที่ติดในเครื่องสูบน้ำมอเตอร์ไฟฟ้า เพื่อให้การระบายน้ำไหลผ่านสะดวก ณ บริเวณหมู่บ้านคัทลียา ตำบลลาดสวาย อำเภอลำลูกกา จังหวัดปทุมธานี"
|
||||||
|
},
|
||||||
|
"date": "21 พ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3267/pics_topic_3267_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประชุมคณะกรรมการสนับสนุนการจัดทำแผนพัฒนาเทศบาลเมืองลาดสวาย",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3274/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_1.jpg?404",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_2.jpg?972",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_3.jpg?350",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_4.jpg?887",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_5.jpg?956",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_6.jpg?314",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_7.jpg?178",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_8.jpg?977",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_9.jpg?244",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_10.jpg?305",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_11.jpg?574",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7975_12.jpg?667",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_1.jpg?431",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_2.jpg?717",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_3.jpg?415",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_4.jpg?662",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_5.jpg?81",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_6.jpg?526",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_7.jpg?675",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_8.jpg?296",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_9.jpg?72",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_10.jpg?617",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_11.jpg?937",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_12.jpg?769",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_13.jpg?728",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_14.jpg?261",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_15.jpg?490",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_16.jpg?100",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_17.jpg?76",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_18.jpg?85",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_19.jpg?731",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_20.jpg?656",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_21.jpg?722",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_22.jpg?575",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_23.jpg?467",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_24.jpg?344",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_25.jpg?111",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_26.jpg?743",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_27.jpg?837",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_7976_28.jpg?332"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 20 พฤษภาคม 2567 นายสุรพัศ ลิ่มวงศ์ ปลัดเทศบาลเมืองลาดสวาย เป็นประธานการประชุมคณะกรรมการสนับสนุนการจัดทำแผนพัฒนาเทศบาลเมืองลาดสวาย เพื่อดำเนินการจัดทำแผนพัฒนาท้องถิ่น (พ.ศ.2566-2570) ฉบับทบทวน ครั้งที่ 1/2566 เพิ่มเติม ครั้งที่ 2/2567 ซึ่งเป็นการเพิ่มเติมโครงการและครุภัณฑ์ อันเป็นประโยชน์เพื่อการบริการสาธารณะ ตอบาสนองความต้องการและบรรเทาความเดือดร้อนของประชาชนในเขตเทศบาลเมืองลาดสวาย ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "20 พ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3274/pics_topic_3274_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "การประชุมคณะกรรมการพัฒนาเทศบาลเมืองลาดสวาย",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3272/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_1.jpg?403",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_2.jpg?502",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_3.jpg?814",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_4.jpg?970",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_5.jpg?224",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_6.jpg?99",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_7.jpg?288",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_8.jpg?637",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_9.jpg?541",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_10.jpg?520",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_11.jpg?66",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_12.jpg?397",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_13.jpg?975",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_14.jpg?932",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_15.jpg?866",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_16.jpg?254",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_17.jpg?340",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_18.jpg?925",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_19.jpg?528",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_20.jpg?746",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_21.jpg?196",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_22.jpg?658",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_23.jpg?753",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_24.jpg?28",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_25.jpg?945",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_26.jpg?576",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_27.jpg?4",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_28.jpg?377",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_29.jpg?860",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_30.jpg?882",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_31.jpg?415",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_32.jpg?662",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_33.jpg?357",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_34.jpg?218",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_35.jpg?160",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_36.jpg?875",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_37.jpg?857",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_38.jpg?93",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_39.jpg?253",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_40.jpg?323",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_41.jpg?86",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_42.jpg?46",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_43.jpg?319",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_44.jpg?841",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_45.jpg?965",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_46.jpg?282",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_47.jpg?577",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_48.jpg?946",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_49.jpg?180",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_50.jpg?9",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_7969_51.jpg?285"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 20 พฤษภาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เป็นประธานการประชุมคณะกรรมการพัฒนาเทศบาลเมืองลาดสวาย เพื่อพิจารณา(ร่าง) แผนพัฒนาท้องถิ่น (พ.ศ.2566-2570) ฉบับทบทวน ครั้งที่ 1/2566 เพิ่มเติม ครั้งที่ 2/2567 และ(ร่าง)แผนพัฒนาท้องถิ่น (พ.ศ.2566-2570) ฉบับทบทวน ครั้งที่ 1/2566 เปลี่ยนแปลง ครั้งที่ 2/2567 ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "20 พ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3272/pics_topic_3272_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ประชาคมท้องถิ่นระดับเมือง",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3271/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_1.jpg?237",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_2.jpg?985",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_3.jpg?844",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_4.jpg?412",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_5.jpg?249",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_6.jpg?393",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_7.jpg?372",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_8.jpg?320",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_9.jpg?330",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_10.jpg?413",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_11.jpg?640",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_12.jpg?680",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_13.jpg?279",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_14.jpg?418",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_15.jpg?657",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_16.jpg?890",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_17.jpg?534",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_18.jpg?903",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_19.jpg?437",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_20.jpg?290",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_21.jpg?109",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_22.jpg?666",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_23.jpg?191",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_24.jpg?798",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_25.jpg?861",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_26.jpg?626",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_27.jpg?161",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_28.jpg?4",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_29.jpg?160",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_30.jpg?638",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_31.jpg?295",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_32.jpg?135",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_33.jpg?603",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_34.jpg?245",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_35.jpg?414",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_36.jpg?284",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_37.jpg?703",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_38.jpg?251",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_39.jpg?337",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_40.jpg?554",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_41.jpg?130",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_42.jpg?265",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_43.jpg?995",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_44.jpg?332",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_45.jpg?510",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_46.jpg?546",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_47.jpg?856",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_48.jpg?597",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_7966_49.jpg?613"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 20 พฤษภาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย เป็นประธานการประชุมประชาคมท้องถิ่นระดับเมือง เพื่อพิจารณา (ร่าง) แผนพัฒนาท้องถิ่น ( พ.ศ.2566-2570) ฉบับทบทวน ครั้งที่ 1/2566 เพิ่มเติม ครั้งที่ 2/2567 ณ ห้องประชุมเทศบาลเมืองลาดสวาย ชั้น 3"
|
||||||
|
},
|
||||||
|
"date": "20 พ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3271/pics_topic_3271_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "ตรวจการลอกท่อระบายน้ำ ดูดโคลนเลน บริเวณถนนไสวประชาราษฎร์",
|
||||||
|
"detailRef": "https://ladsawai.go.th/public/list/data/detail/id/3269/menu/1559/page/11",
|
||||||
|
"detail": {
|
||||||
|
"img": [
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_1.jpg?648",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_2.jpg?826",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_3.jpg?281",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_4.jpg?613",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_5.jpg?685",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_6.jpg?588",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_7.jpg?443",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_8.jpg?939",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_9.jpg?156",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_10.jpg?867",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_11.jpg?904",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_12.jpg?121",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_13.jpg?936",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_14.jpg?687",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_15.jpg?643",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_16.jpg?291",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_17.jpg?341",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_18.jpg?809",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_19.jpg?310",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_20.jpg?689",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_21.jpg?674",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_22.jpg?156",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_23.jpg?667",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_24.jpg?542",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_25.jpg?636",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_26.jpg?10",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_27.jpg?521",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_28.jpg?252",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_29.jpg?821",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_30.jpg?654",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_31.jpg?371",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_32.jpg?47",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_33.jpg?664",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_34.jpg?221",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_35.jpg?563",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_36.jpg?818",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_37.jpg?382",
|
||||||
|
"https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_7960_38.jpg?647"
|
||||||
|
],
|
||||||
|
"content": "วันที่ 20 พฤษภาคม 2567 นายวินัย สังวาลย์เงิน นายกเทศมนตรีเมืองลาดสวาย พร้อมด้วยนายอิทธิเดช ผาสุข นายชัยสุวรรณ อ่วมเกตุลักษณ์ นายทวี ภูมิทอง รองนายกเทศมนตรีเมืองลาดสวาย นายเล็ก กลิ่นชื่น นางสาวจรรยา ขันฮะ เลขานุการนายกเทศมนตรี นายฉลอง กิจฉัย ที่ปรึกษานายกเทศมนตรี สมาชิกสภาเทศบาล นางสำลี สังวาลย์เงิน ประธานชมรมผู้สูงอายุเทศบาลเมืองลาดสวาย นายสุรพัศ ลิ่มวงศ์ ปลัดเทศบาลเมืองลาดสวาย นายเทอดศักดิ์ จันทร์สุกรี รองปลัดเทศบาล ลงพื้นที่ออกตรวจการลอกท่อระบายน้ำ ดูดโคลนเลน บริเวณถนนไสวประชาราษฎร์ โดยมีเจ้าหน้าที่กองช่าง เจ้าหน้าที่งานป้องกันและบรรเทาสาธารณภัย ดำเนินการลอกท่อระบายน้ำและดูดโคลนเลนในท่อระบายน้ำ เจ้าหน้าที่เทศกิจอำนวยความสะดวกด้านการจราจร และเจ้าหน้าที่กองสาธารณสุขและสิ่งแวดล้อมดำเนินการทำความสะอาด เพื่อบรรเทาความเดือดร้อนของประชาชนจากน้ำท่วมขังในพื้นที่"
|
||||||
|
},
|
||||||
|
"date": "20 พ.ค. 2567",
|
||||||
|
"image": "https://ladsawai.go.th/public/list_upload/backend/list_3269/pics_topic_3269_thumbnail.jpg",
|
||||||
|
"sourcePage": 11,
|
||||||
|
"sourceUrl": "https://ladsawai.go.th/public/list/data/index/menu/1559/page/11"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user