เคล็ดลับการสร้าง web crawler 23 June 2008 5:57 pm
บันทึกโดย Mr. PeeTai ใน : การสร้างซอฟต์แวร์ , 7 ความคิดเห็นมีหลายท่านติดต่อผ่าน ห้องติดต่อ มาหาผม เพื่อถามผมว่าจะทำ web crawler ยังไงดี???
ดูเหมือนการไปล้วงข้อมูลจากเว็บของผู้อื่น โดยให้คอมพิวเตอร์ช่วยผ่อนแรงให้ ถือเป็นความต้องการลำดับต้น ๆ ของผู้ที่อยากจะได้เนื้อหาโดยไม่ต้องออกแรงมากจริง ๆ
ผมก็เลยคิดว่าผมควรจะรวบรวมมาบอกตรงนี้เลยดีกว่า ขี้เกียจมาตอบทีล่ะคนมันเยอะ แล้วถ้าผมตอบถูกหรือผิดยังไงก็ให้พวกเราที่แอบเข้ามาอ่านกันเงียบ ๆ ที่บล็อกแห่งนี้ช่วยขัดเกลาด้วยนะ ว่ามันถูกหรือเปล่า เพราะผมเนี่ยก็ขามั่วอันดับหนึ่งในแผ่นดินเหมือนกัน
อ่ะแฮ่ม … งั้นเริ่มเลยนะ …
หากว่าท่านต้องการจะสร้างซอฟต์แวร์ประเภท web crawler นั้น สิ่งที่ท่านควรจะมีก็คือ
- ความรู้ความเข้าใจใน regular expression ยิ่งเก่งอย่างเทพได้ยิ่งดี เพราะถ้าใครเขียนได้สั้น กระทัดรัด แต่สำแดงแสนยานุภาพได้มากมาย ก็ถือว่าคนนั้นเก่ง!!! (วัดงี้เลยเหรอ?)
- ตัวแปลภาษาคอมพิวเตอร์ อาทิเช่น Haskell (ไม่รู้จักว้อย), .NET, Perl, PHP, Python, Ruby, Tcl 8.4 (ไม่รู้จักเหมือนกัน), D (มีด้วยหรือวะภาษานี้) หรือ Java ซึ่งตัวแปลภาษาคอมพิวเตอร์เหล่านี้ สนับสนุน regular expression อย่างเต็มกำลัง (สำหรับสาวก Delphi ไม่ต้องเสียใจไป เพราะมี Component ที่สนับสนุน regular expression ให้ดาวน์โหลดมากมาย)
- ความรู้ความเข้าใจในการ GET หน้าเว็บผ่าน HTTP
- จินตนาการในการตัดคำหรือประโยค ว่าจะเอาเงื่อนไขเล่ห์กลใด ๆ มาใช้ในการตัดคำถอดประโยคจาก tag html ที่แสดงอยู่ในหน้าเว็บบ้าง
- คอมพิวเตอร์ซึ่งต่อเข้ากับเครือข่ายที่ออกอินเทอร์เน็ตได้ตลอด 24 ชั่วโมง โดยไม่มีอะไรมาขัดจังหวะหรือหยุดชะงัก เพราะท่านต้องใช้คอมพิวเตอร์เครื่องดังกล่าว สำหรับสั่งให้ซอฟต์แวร์ที่ท่านเขียนขึ้น ทำงานเป็นวรรคเป็นเวรอย่างที่ท่านต้องการ
แต่ถ้าท่านขี้เกียจเขียนเอง ผมขอแนะนำให้ท่านดาวน์โหลด Heritrix: Internet Archive Web Crawler ซึ่งเป็น opensource ภาษา Java ไปลองใช้ครับ น่าจะสะดวกกว่าเยอะเลย
ป.ล. ผมกระจอกภาษา Java มากเลยครับ โดยเฉพาะถ้าต้องใช้ Java แสดงผลด้วย AWT หรือ Swing ด้วยนะ ยิ่งกลายเป็นไอ้โง่ไปเลย ดังนั้น ไม่สามารถแนะนำอะไรเกี่ยวกับ Java ได้เด้อ
Technorati Tags: web, crawler, awt, swing, java, regular, expression, คอมพิวเตอร์

