กระโดดไปยังแผงนำทาง

เคล็ดลับการสร้าง web crawler 23 June 2008 5:57 pm

บันทึกโดย Mr. PeeTai ใน : การสร้างซอฟต์แวร์ , 7 ความคิดเห็น

มีหลายท่านติดต่อผ่าน ห้องติดต่อ มาหาผม เพื่อถามผมว่าจะทำ web crawler ยังไงดี???

ดูเหมือนการไปล้วงข้อมูลจากเว็บของผู้อื่น โดยให้คอมพิวเตอร์ช่วยผ่อนแรงให้ ถือเป็นความต้องการลำดับต้น ๆ ของผู้ที่อยากจะได้เนื้อหาโดยไม่ต้องออกแรงมากจริง ๆ

ผมก็เลยคิดว่าผมควรจะรวบรวมมาบอกตรงนี้เลยดีกว่า ขี้เกียจมาตอบทีล่ะคนมันเยอะ แล้วถ้าผมตอบถูกหรือผิดยังไงก็ให้พวกเราที่แอบเข้ามาอ่านกันเงียบ ๆ ที่บล็อกแห่งนี้ช่วยขัดเกลาด้วยนะ ว่ามันถูกหรือเปล่า เพราะผมเนี่ยก็ขามั่วอันดับหนึ่งในแผ่นดินเหมือนกัน

อ่ะแฮ่ม … งั้นเริ่มเลยนะ …

หากว่าท่านต้องการจะสร้างซอฟต์แวร์ประเภท web crawler นั้น สิ่งที่ท่านควรจะมีก็คือ

  1. ความรู้ความเข้าใจใน regular expression ยิ่งเก่งอย่างเทพได้ยิ่งดี เพราะถ้าใครเขียนได้สั้น กระทัดรัด แต่สำแดงแสนยานุภาพได้มากมาย ก็ถือว่าคนนั้นเก่ง!!! (วัดงี้เลยเหรอ?)
  2. ตัวแปลภาษาคอมพิวเตอร์ อาทิเช่น Haskell (ไม่รู้จักว้อย), .NET, Perl, PHP, Python, Ruby, Tcl 8.4 (ไม่รู้จักเหมือนกัน), D (มีด้วยหรือวะภาษานี้) หรือ Java ซึ่งตัวแปลภาษาคอมพิวเตอร์เหล่านี้ สนับสนุน regular expression อย่างเต็มกำลัง (สำหรับสาวก Delphi ไม่ต้องเสียใจไป เพราะมี Component ที่สนับสนุน regular expression ให้ดาวน์โหลดมากมาย)
  3. ความรู้ความเข้าใจในการ GET หน้าเว็บผ่าน HTTP
  4. จินตนาการในการตัดคำหรือประโยค ว่าจะเอาเงื่อนไขเล่ห์กลใด ๆ มาใช้ในการตัดคำถอดประโยคจาก tag html ที่แสดงอยู่ในหน้าเว็บบ้าง
  5. คอมพิวเตอร์ซึ่งต่อเข้ากับเครือข่ายที่ออกอินเทอร์เน็ตได้ตลอด 24 ชั่วโมง โดยไม่มีอะไรมาขัดจังหวะหรือหยุดชะงัก เพราะท่านต้องใช้คอมพิวเตอร์เครื่องดังกล่าว สำหรับสั่งให้ซอฟต์แวร์ที่ท่านเขียนขึ้น ทำงานเป็นวรรคเป็นเวรอย่างที่ท่านต้องการ

แต่ถ้าท่านขี้เกียจเขียนเอง ผมขอแนะนำให้ท่านดาวน์โหลด Heritrix: Internet Archive Web Crawler ซึ่งเป็น opensource ภาษา Java ไปลองใช้ครับ น่าจะสะดวกกว่าเยอะเลย

ป.ล. ผมกระจอกภาษา Java มากเลยครับ โดยเฉพาะถ้าต้องใช้ Java แสดงผลด้วย AWT หรือ Swing ด้วยนะ ยิ่งกลายเป็นไอ้โง่ไปเลย ดังนั้น ไม่สามารถแนะนำอะไรเกี่ยวกับ Java ได้เด้อ

Technorati Tags: , , , , , , ,