ตัวติดตามการเปลี่ยนแปลงของเว็บบอร์ดที่เกิดจากความขี้เกียจ
(github.com/tchinso)ผมเป็นโอตาคุครับ เลยต้องใช้ชีวิตแบบยุ่งสุด ๆ
ถ้ามีข้อมูลใหม่เกี่ยวกับศิลปินที่ชอบหรือเกมที่เล่นอยู่ ผมต้องรับรู้ให้หมด
โชคดีที่ช่วงนี้มีบอตฟีดของ Discord เยอะขึ้น ถ้าเชื่อมสิ่งเหล่านี้ไว้ในช่อง Discord เดียว ก็รับข่าวสารทั้งหมดได้จากที่เดียว สะดวกดีครับ
ปัญหาคือเว็บบอร์ดหรือเว็บไซต์ต่าง ๆ รวมถึงไซต์วิดีโอแอนิเมชันแฟนเมด 3D
อย่างเว็บบอร์ดงานสร้างสรรค์ส่วนบุคคลหรือเว็บบอร์ดอิสระต่าง ๆ
ถ้าที่พวกนี้รองรับ RSS เหมือน Naver Blog ก็ยังพอจัดการอะไรได้บ้าง
แต่พวก Arca.live อะไรทำนองนั้น ผมก็ไม่รู้ว่าจะดึงข้อมูลมายังไง
ที่ผ่านมาเลยทำได้แค่บันทึกไว้ในบุ๊กมาร์ก แล้วเข้าไปดูเองทีละเว็บทุกวัน
เช็กทีละอันว่ามีรูปใหม่ของเมนโผล่มาหรือยัง
พอมีเว็บแบบนั้นราว ๆ 140 เว็บ งานอดิเรกก็กลายเป็นงานใช้แรงไปแล้วครับ
แค่ไล่เข้าเว็บบอร์ดทุกเว็บทุกวันก็ต้องใช้เวลาอย่างน้อย 30 นาทีได้
เวลานี้เป็นเวลามีค่าที่เอาไปดูอนิเมะได้อีกตอน หรือเล่นวิชวลโนเวลต่อได้อีกหน่อย ผมไม่อยากปล่อยให้เสียไปแบบนี้ทุกวัน
ก็เลยทำส่วนขยาย Chrome ที่ติดตามการเปลี่ยนแปลงของเว็บไซต์ให้อัตโนมัติขึ้นมา
การทำมันไม่ง่ายเลยครับ
เพราะต้องระบุให้ได้ว่าตรงไหนถึงตรงไหนคือโพสต์
โชคดีที่ปกติผมใช้โปรแกรมบล็อกโฆษณาอยู่ ซึ่งโปรแกรมบล็อกโฆษณามีฟีเจอร์ที่ให้ระบุองค์ประกอบเฉพาะด้วยโครงสร้าง DOM เพื่อบล็อกได้
ผมคิดว่าถ้าใช้สิ่งนี้ ขอแค่ระบุพื้นที่ที่โพสต์ถูกอัปโหลดขึ้นมาด้วยโครงสร้าง DOM ได้ ก็น่าจะพอ
ตรงนี้มีอุปสรรคด่านที่สองครับ ตัวเลือก DOM ยาวและละเอียดเกินไป จนพอมีโพสต์ใหม่ขึ้นมา โครงสร้าง DOM และระบบ URL ก็เปลี่ยนไปจากของเดิมโดยสิ้นเชิง
จำเป็นต้องมีความสามารถในการแยกให้ชัดเจนว่าส่วนไหนใน DOM ยาว ๆ นั้นมีความหมาย และส่วนไหนไม่มีความหมาย
นอกจากนั้นยังมีปัญหาอีกมากมาย เช่น Shadow DOM หรือการจำชื่อสไตล์ที่ใช้ใน CSS ผิด กว่าจะแก้ได้ก็เหงื่อตกจริง ๆ
หลังจากลองผิดลองถูกอยู่หลายวัน ในที่สุดก็ปล่อยเวอร์ชันที่เสร็จสมบูรณ์ออกมาได้
พอทำเสร็จแล้ว ผมคิดว่าน่าจะมีคนใน GeekNews นอกจากผมอีกไม่น้อยที่ต้องติดตามการเปลี่ยนแปลงของเว็บไซต์เป็นร้อย ๆ เว็บ แม้จะไม่ใช่โอตาคุก็ตาม เลยเอามาแชร์ครับ
ตอนนี้ได้ยื่นขอเผยแพร่บน Chrome Web Store ไว้แล้ว แต่ยังไม่รู้ว่าจะเป็นยังไง ลองให้ ChatGPT ช่วยเขียนเหตุผลที่พอจะโน้มน้าวได้ไปแล้ว(?)
ถ้าไม่ผ่านก็ใช้ผ่านโหมดนักพัฒนาก็ได้ครับ!
ขอ Star และฟีดแบ็กเยอะ ๆ ด้วยนะครับ
ยังไม่มีความคิดเห็น