กลับไปหน้าบทความ

อ่าน 15 นาที

เว็บครอว์เลอร์

เว็บครอว์เลอร์บางครั้งเรียกว่าสไปเดอร์หรือสไปเดอร์บอทและมักย่อเป็นครอว์เลอร์คือบอทอินเทอร์เน็ตที่เรียกดูเวิลด์ไวด์เว็บ อย่างเป็นระบบ...

เว็บครอว์เลอร์

สถาปัตยกรรมของเว็บครอว์เลอร์

เว็บครอว์เลอร์บางครั้งเรียกว่าสไปเดอร์หรือสไปเดอร์บอทและมักย่อเป็นครอว์เลอร์คือบอทอินเทอร์เน็ตที่เรียกดูเวิลด์ไวด์เว็บ อย่างเป็นระบบ และโดยทั่วไปจะดำเนินการโดยเครื่องมือค้นหาเพื่อวัตถุประสงค์ในการจัดทำดัชนีเว็บ ( เว็บสไปเดอร์ริ่ง ) [ 1 ]

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

โปรแกรมรวบรวมข้อมูล (Crawler) ใช้ทรัพยากรบนระบบที่เข้าชม และมักเข้าชมเว็บไซต์โดยไม่ได้รับการร้องขอ ปัญหาเรื่องตารางเวลา การโหลด และ "ความสุภาพ" จะเข้ามามีบทบาทเมื่อมีการเข้าถึงหน้าเว็บจำนวนมาก มีกลไกสำหรับเว็บไซต์สาธารณะที่ไม่ต้องการให้โปรแกรมรวบรวมข้อมูลทราบ ตัวอย่างเช่น การแนบrobots.txtไฟล์สามารถขอให้บอทจัดทำดัชนีเฉพาะบางส่วนของเว็บไซต์ หรือไม่จัดทำดัชนีเลยก็ได้

จำนวนหน้าเว็บมีขนาดใหญ่มาก และเครื่องมือค้นหาไม่ได้จัดทำดัชนีเนื้อหาเว็บทั้งหมด การศึกษาเครื่องมือค้นหาในช่วงปลายทศวรรษ 1990 พบว่าเครื่องมือค้นหาแต่ละตัวจัดทำดัชนีเพียงเศษเสี้ยวของเว็บที่สามารถจัดทำดัชนีได้ในขณะนั้น[ 2 ] [ 3 ]เครื่องมือค้นหาสมัยใหม่ใช้ระบบการรวบรวม การจัดทำดัชนี และการจัดอันดับเพื่อส่งคืนผลลัพธ์ที่เกี่ยวข้องอย่างรวดเร็ว แม้ว่าจะไม่ได้รวบรวม จัดทำดัชนี หรือให้บริการทุกหน้าก็ตาม[ 4 ]

โปรแกรมรวบรวมข้อมูล (Crawler) สามารถตรวจสอบความถูกต้องของไฮเปอร์ลิงก์และ โค้ด HTMLได้ นอกจากนี้ยังสามารถใช้สำหรับการดึงข้อมูลจากเว็บไซต์และ การ เขียนโปรแกรมโดยใช้ข้อมูลเป็นหลัก ได้อีกด้วย

การตั้งชื่อ

เว็บครอว์เลอร์ยังเป็นที่รู้จักในชื่อไปเดอร์ [ 5 ] แอท์ตัวจัดทำดัชนีอัตโนมัติ [ 6 ]หรือ (ในบริบทของ ซอฟต์แวร์ FOAF ) เว็บสคัตเตอร์[ 7 ]

ภาพรวม

เว็บครอว์เลอร์เริ่มต้นด้วยรายการURLที่จะเยี่ยมชม URL แรกเหล่านั้นเรียกว่าซีด (seeds ) เมื่อครอว์เลอร์เยี่ยมชม URL เหล่านี้ โดยการสื่อสารกับเว็บเซิร์ฟเวอร์ที่ตอบสนองต่อ URL เหล่านั้น มันจะระบุไฮเปอร์ลิงก์ ทั้งหมด ในหน้าเว็บที่ดึงมาได้ และเพิ่มลงในรายการ URL ที่จะเยี่ยมชม ซึ่งเรียกว่า โครว์ลอร์นเทียร์ (crawl frontier ) URL จากฟรอนเทียร์จะ ถูกเยี่ยมชม แบบวนซ้ำตามชุดนโยบาย หากครอว์เลอร์กำลังทำการเก็บถาวรเว็บไซต์ (หรือการเก็บถาวรเว็บ ) มันจะคัดลอกและบันทึกข้อมูลไปพร้อมกัน โดยปกติแล้วไฟล์เก็บถาวรจะถูกจัดเก็บในลักษณะที่สามารถดู อ่าน และนำทางได้ราวกับว่าอยู่บนเว็บจริง แต่จะถูกเก็บรักษาไว้เป็น 'สแนปช็อต' [ 8 ]

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

จำนวน URL ที่เป็นไปได้ที่ซอฟต์แวร์ฝั่งเซิร์ฟเวอร์สร้างขึ้น ทำให้เว็บครอว์เลอร์หลีกเลี่ยงการดึงเนื้อหาซ้ำซ้อนได้ ยาก มี ชุดค่าผสมของ พารามิเตอร์ HTTP GET (ตาม URL) ที่ไม่มีที่สิ้นสุด ซึ่งมีเพียงส่วนน้อยเท่านั้นที่จะส่งคืนเนื้อหาที่ไม่ซ้ำกัน ตัวอย่างเช่น แกลเลอรีรูปภาพออนไลน์อย่างง่ายอาจมีตัวเลือกสามแบบให้ผู้ใช้เลือก ตามที่ระบุไว้ในพารามิเตอร์ HTTP GET ใน URL หากมีวิธีการเรียงลำดับรูปภาพสี่แบบ ขนาดภาพขนาด ย่อ สามแบบ รูปแบบไฟล์สองแบบ และตัวเลือกในการปิดใช้งานเนื้อหาที่ผู้ใช้ป้อน ชุดเนื้อหาเดียวกันสามารถเข้าถึงได้ด้วย URL ที่แตกต่างกันถึง 48 URL ซึ่งทั้งหมดอาจเชื่อมโยงกันอยู่ในเว็บไซต์การรวมกันทางคณิตศาสตร์ นี้ สร้างปัญหาให้กับครอว์เลอร์ เนื่องจากพวกมันต้องคัดกรองผ่านชุดค่าผสมที่ไม่มีที่สิ้นสุดของการเปลี่ยนแปลงเล็กน้อยที่เขียนด้วยสคริปต์ เพื่อดึงเนื้อหาที่ไม่ซ้ำกัน

ดังที่ Edwards และคณะได้กล่าวไว้ว่า "เนื่องจากแบนด์วิดท์สำหรับการดำเนินการรวบรวมข้อมูลนั้นไม่ได้มีไม่จำกัดและไม่ได้ฟรี จึงจำเป็นต้องรวบรวมข้อมูลบนเว็บด้วยวิธีการที่ไม่เพียงแต่ปรับขนาดได้ แต่ยังมีประสิทธิภาพด้วย หากต้องการรักษาระดับคุณภาพหรือความสดใหม่ในระดับที่เหมาะสม" [ 9 ]โปรแกรมรวบรวมข้อมูลต้องเลือกอย่างระมัดระวังในแต่ละขั้นตอนว่าจะเยี่ยมชมหน้าเว็บใดต่อไป

นโยบายการรวบรวมข้อมูล

พฤติกรรมของเว็บครอว์เลอร์เป็นผลมาจากการรวมกันของนโยบายต่างๆ: [ 10 ]

  • นโยบายการคัดเลือกซึ่งระบุหน้าเว็บที่จะดาวน์โหลด
  • นโยบายการเข้าชมซ้ำซึ่งระบุว่าควรตรวจสอบการเปลี่ยนแปลงของหน้าเว็บเมื่อใด
  • นโยบายด้านมารยาทที่ระบุวิธีการหลีกเลี่ยงการทำให้เว็บไซต์ มีภาระมากเกินไป
  • นโยบายการทำงานแบบขนานที่ระบุวิธีการประสานงานกับโปรแกรมรวบรวมข้อมูลเว็บแบบกระจาย

นโยบายการคัดเลือก

ด้วยขนาดของเว็บในปัจจุบัน แม้แต่เครื่องมือค้นหาขนาดใหญ่ก็ครอบคลุมเพียงส่วนหนึ่งของเว็บที่เปิดเผยต่อสาธารณะเท่านั้น การศึกษาในปี 2009 แสดงให้เห็นว่าแม้แต่เครื่องมือค้นหา ขนาดใหญ่ก็ยัง จัดทำดัชนีเว็บได้ไม่เกิน 40–70% [ 11 ]การศึกษาครั้งก่อนโดยSteve LawrenceและLee Gilesแสดงให้เห็นว่าไม่มีเครื่องมือค้นหาใดจัดทำดัชนีเว็บได้มากกว่า 16% ในปี 1999 [ 12 ]เนื่องจากโปรแกรมรวบรวมข้อมูลจะดาวน์โหลดเพียงเศษส่วนของหน้าเว็บ เท่านั้น จึงเป็นที่พึงปรารถนาอย่างยิ่งที่เศษส่วนที่ดาวน์โหลดมานั้นจะต้องมีหน้าเว็บที่เกี่ยวข้องมากที่สุด ไม่ใช่เพียงแค่ตัวอย่างแบบสุ่มของเว็บ

สิ่งนี้จำเป็นต้องมีตัวชี้วัดความสำคัญเพื่อจัดลำดับความสำคัญของหน้าเว็บ ความสำคัญของหน้าเว็บขึ้นอยู่กับ คุณภาพ โดยเนื้อแท้ความนิยมในแง่ของลิงก์หรือการเข้าชม และแม้กระทั่ง URL (กรณีหลังนี้เกิดขึ้นกับเครื่องมือค้นหาเฉพาะทาง ที่จำกัดอยู่เฉพาะ โดเมนระดับบนสุดเดียวหรือเครื่องมือค้นหาที่จำกัดอยู่เฉพาะเว็บไซต์ที่กำหนดไว้) การออกแบบนโยบายการคัดเลือกที่ดีนั้นมีความยากลำบากเพิ่มเติม คือ ต้องทำงานกับข้อมูลที่ไม่สมบูรณ์ เนื่องจากไม่ทราบชุดหน้าเว็บทั้งหมดในระหว่างการรวบรวมข้อมูล

Junghoo Cho และคณะได้ทำการศึกษาครั้งแรกเกี่ยวกับนโยบายสำหรับการจัดกำหนดการรวบรวมข้อมูล ชุดข้อมูลของพวกเขาคือการรวบรวมข้อมูล 180,000 หน้าจากstanford.eduโดเมน ซึ่งมีการจำลองการรวบรวมข้อมูลโดยใช้กลยุทธ์ที่แตกต่างกัน[ 13 ]ตัวชี้วัดลำดับที่ทดสอบ ได้แก่ การค้นหา แบบกว้าง (breadth-first) , จำนวน ลิงก์ย้อนกลับและ การคำนวณ PageRank บางส่วน ข้อสรุปประการหนึ่งคือ หากโปรแกรมรวบรวมข้อมูลต้องการดาวน์โหลดหน้าเว็บที่มี PageRank สูงในช่วงต้นของกระบวนการรวบรวมข้อมูล กลยุทธ์ PageRank บางส่วนจะดีกว่า ตามด้วยการค้นหาแบบกว้างและจำนวนลิงก์ย้อนกลับ อย่างไรก็ตาม ผลลัพธ์เหล่านี้ใช้ได้กับโดเมนเดียวเท่านั้น Cho ยังเขียนวิทยานิพนธ์ปริญญาเอกที่ Stanford เกี่ยวกับการรวบรวมข้อมูลเว็บอีกด้วย[ 14 ]

Marc Najorkและ Janet Wiener ได้ทำการรวบรวมข้อมูลจริงบนหน้าเว็บ 328 ล้านหน้า โดยใช้การเรียงลำดับแบบกว้าง[ 15 ]พวกเขาพบว่าการรวบรวมข้อมูลแบบกว้างจะจับหน้าเว็บที่มี Pagerank สูงได้ตั้งแต่ช่วงต้นของการรวบรวมข้อมูล (แต่พวกเขาไม่ได้เปรียบเทียบกลยุทธ์นี้กับกลยุทธ์อื่นๆ) คำอธิบายที่ผู้เขียนให้ไว้สำหรับผลลัพธ์นี้คือ "หน้าเว็บที่สำคัญที่สุดมีลิงก์จำนวนมากจากโฮสต์หลายแห่ง และลิงก์เหล่านั้นจะถูกค้นพบตั้งแต่เนิ่นๆ โดยไม่คำนึงถึงว่าการรวบรวมข้อมูลเริ่มต้นจากโฮสต์หรือหน้าเว็บใด"

Abiteboul ออกแบบกลยุทธ์การรวบรวมข้อมูลโดยใช้อัลกอริทึมที่เรียกว่า OPIC (On-line Page Importance Computation) [ 16 ]ใน OPIC แต่ละหน้าจะได้รับ "เงินสด" จำนวนหนึ่งซึ่งกระจายอย่างเท่าเทียมกันในหมู่หน้าที่ชี้ไป คล้ายกับการคำนวณ PageRank แต่เร็วกว่าและทำเพียงขั้นตอนเดียว โปรแกรมรวบรวมข้อมูลที่ขับเคลื่อนด้วย OPIC จะดาวน์โหลดหน้าในขอบเขตการรวบรวมข้อมูลที่มี "เงินสด" สูงกว่าก่อน การทดลองดำเนินการในกราฟสังเคราะห์ 100,000 หน้าที่มีการกระจายแบบกำลังของลิงก์ขาเข้า อย่างไรก็ตาม ไม่มีการเปรียบเทียบกับกลยุทธ์อื่นหรือการทดลองในเว็บจริง

Boldi และคณะใช้การจำลองบนชุดย่อยของเว็บจำนวน 40 ล้านหน้าจาก.itโดเมนและ 100 ล้านหน้าจากการรวบรวมข้อมูลของ WebBase โดยทดสอบการค้นหาแบบกว้างก่อนเทียบกับการค้นหาแบบลึกก่อน การเรียงลำดับแบบสุ่ม และกลยุทธ์แบบรอบรู้ การเปรียบเทียบขึ้นอยู่กับว่า PageRank ที่คำนวณจากการรวบรวมข้อมูลบางส่วนนั้นใกล้เคียงกับค่า PageRank ที่แท้จริงมากน้อยเพียงใด การเข้าชมบางประเภทที่สะสม PageRank ได้อย่างรวดเร็ว (โดยเฉพาะอย่างยิ่ง การค้นหาแบบกว้างก่อนและการเข้าชมแบบรอบรู้) จะให้ค่าประมาณแบบก้าวหน้าที่ไม่ดีนัก[ 17 ] [ 18 ]

Baeza-Yates และคณะใช้การจำลองกับเว็บสองชุดย่อยที่มี 3 ล้านหน้าจาก โดเมน .grและ.clทดสอบกลยุทธ์การรวบรวมข้อมูลหลายแบบ[ 19 ]พวกเขาแสดงให้เห็นว่าทั้งกลยุทธ์ OPIC และกลยุทธ์ที่ใช้ความยาวของคิวต่อไซต์นั้นดีกว่า การรวบรวมข้อมูล แบบกว้างและยังมีประสิทธิภาพมากในการใช้การรวบรวมข้อมูลครั้งก่อนหน้าเมื่อมีให้ใช้งานเพื่อเป็นแนวทางในการรวบรวมข้อมูลปัจจุบัน

Daneshpajouh และคณะได้ออกแบบอัลกอริธึมแบบชุมชนเพื่อค้นหาเมล็ดพันธุ์ที่ดี[ 20 ]วิธีการของพวกเขารวบรวมเว็บเพจที่มี PageRank สูงจากชุมชนต่างๆ โดยใช้จำนวนรอบน้อยกว่าเมื่อเปรียบเทียบกับการรวบรวมที่เริ่มต้นจากเมล็ดพันธุ์แบบสุ่ม สามารถดึงเมล็ดพันธุ์ที่ดีจากกราฟเว็บที่รวบรวมไว้ก่อนหน้านี้ได้โดยใช้วิธีการใหม่นี้ การใช้เมล็ดพันธุ์เหล่านี้จะทำให้การรวบรวมใหม่มีประสิทธิภาพมากยิ่งขึ้น

โปรแกรมรวบรวมข้อมูลอาจต้องการค้นหาเฉพาะหน้าเว็บ HTML และหลีกเลี่ยงประเภท MIME อื่นๆ เพื่อให้ได้เฉพาะทรัพยากร HTML โปรแกรมรวบรวมข้อมูลอาจทำการร้องขอ HTTP HEAD เพื่อตรวจสอบประเภท MIME ของทรัพยากรเว็บก่อนที่จะร้องขอทรัพยากรทั้งหมดด้วยการร้องขอ GET เพื่อหลีกเลี่ยงการทำการร้องขอ HEAD จำนวนมาก โปรแกรมรวบรวมข้อมูลอาจตรวจสอบ URL และร้องขอทรัพยากรเฉพาะเมื่อ URL ลงท้ายด้วยอักขระบางอย่าง เช่น .html, .htm, .asp, .aspx, .php, .jsp, .jspx หรือเครื่องหมายทับ กลยุทธ์นี้อาจทำให้ทรัพยากรเว็บ HTML จำนวนมากถูกข้ามไปโดยไม่ได้ตั้งใจ

โปรแกรมรวบรวมข้อมูลบางตัวอาจหลีกเลี่ยงการร้องขอทรัพยากรใดๆ ที่มีเครื่องหมาย"?"อยู่ในนั้น (ซึ่งสร้างขึ้นแบบไดนามิก) เพื่อหลีกเลี่ยงกับดักของโปรแกรมรวบรวมข้อมูลที่อาจทำให้โปรแกรมดาวน์โหลด URL จำนวนมหาศาลจากเว็บไซต์ วิธีนี้ไม่น่าเชื่อถือหากเว็บไซต์ใช้การเขียน URL ใหม่เพื่อลดความซับซ้อนของ URL

เจ้าของเว็บไซต์อาจกำหนดไฟล์ robots.txtเพื่อแจ้งให้โปรแกรมรวบรวมข้อมูลทราบว่าอนุญาตและไม่อนุญาตการเข้าถึงทรัพยากรใดบ้างจากนั้นโปรแกรมรวบรวมข้อมูลจะใช้ข้อมูลดังกล่าวในการเลือกติดตามลิงก์ใดและหลีกเลี่ยงลิงก์ใด

การทำให้ URL เป็นมาตรฐาน

โดยปกติแล้ว โปรแกรมรวบรวมข้อมูลจะทำการ ปรับมาตรฐาน URLบางประเภทเพื่อหลีกเลี่ยงการรวบรวมข้อมูลทรัพยากรเดียวกันมากกว่าหนึ่งครั้ง คำว่าการปรับมาตรฐาน URLหรือที่เรียกว่าการกำหนดมาตรฐาน URLหมายถึงกระบวนการแก้ไขและกำหนดมาตรฐาน URL ในลักษณะที่สอดคล้องกัน มีการปรับมาตรฐานหลายประเภทที่อาจดำเนินการได้ รวมถึงการแปลง URL เป็นตัวพิมพ์เล็ก การลบส่วน "." และ ".." และการเพิ่มสแลชต่อท้ายให้กับส่วนประกอบเส้นทางที่ไม่ว่างเปล่า[ 21 ]

การคลานขึ้นไปตามทาง

โปรแกรมรวบรวมข้อมูลบางตัวตั้งใจที่จะดาวน์โหลด/อัปโหลดทรัพยากรให้ได้มากที่สุดเท่าที่จะเป็นไปได้จากเว็บไซต์ใดเว็บไซต์หนึ่ง ดังนั้นจึง มีการแนะนำ โปรแกรมรวบรวมข้อมูลแบบไล่ตามเส้นทางซึ่งจะไล่ตามทุกเส้นทางในแต่ละ URL ที่ตั้งใจจะรวบรวมข้อมูล[ 22 ]ตัวอย่างเช่น เมื่อได้รับ URL เริ่มต้นเป็นhttp://llama.org/hamster/monkey/page.htmlมันจะพยายามรวบรวมข้อมูล /hamster/monkey/, /hamster/ และ / Cothey พบว่าโปรแกรมรวบรวมข้อมูลแบบไล่ตามเส้นทางมีประสิทธิภาพมากในการค้นหาทรัพยากรที่แยกเดี่ยว หรือทรัพยากรที่ไม่มีลิงก์ขาเข้าที่จะพบได้ในการรวบรวมข้อมูลแบบปกติ

การคลานอย่างมีสมาธิ

ความสำคัญของหน้าเว็บสำหรับโปรแกรมรวบรวมข้อมูลสามารถแสดงได้ในรูปของฟังก์ชันความคล้ายคลึงกันของหน้าเว็บกับคำค้นหาที่กำหนด โปรแกรมรวบรวมข้อมูลเว็บที่พยายามดาวน์โหลดหน้าเว็บที่คล้ายคลึงกันเรียกว่าโปรแกรมรวบรวมข้อมูลแบบเน้นเฉพาะ เรื่อง หรือโปรแกรมรวบรวมข้อมูลตามหัวข้อแนวคิดของการรวบรวมข้อมูลตามหัวข้อและแบบเน้นเฉพาะเรื่องได้รับการแนะนำครั้งแรกโดยFilippo Menczer [ 23 ] [ 24 ]และโดย Soumen Chakrabarti et al. [ 25 ]

ปัญหาหลักในการรวบรวมข้อมูลแบบเน้นเป้าหมายคือ ในบริบทของเว็บครอว์เลอร์ เราต้องการที่จะสามารถคาดการณ์ความคล้ายคลึงกันของข้อความในหน้าเว็บที่กำหนดกับคำค้นหาก่อนที่จะดาวน์โหลดหน้าเว็บจริง ตัวบ่งชี้ที่เป็นไปได้คือข้อความแองเคอร์ของลิงก์ ซึ่งเป็นแนวทางที่ Pinkerton [ 26 ] ใช้ ในเว็บครอว์เลอร์ตัวแรกในยุคแรกๆ ของเว็บ Diligenti et al. [ 27 ]เสนอให้ใช้เนื้อหาทั้งหมดของหน้าเว็บที่เข้าชมแล้วเพื่ออนุมานความคล้ายคลึงกันระหว่างคำค้นหาหลักกับหน้าเว็บที่ยังไม่ได้เข้าชม ประสิทธิภาพของการรวบรวมข้อมูลแบบเน้นเป้าหมายขึ้นอยู่กับความสมบูรณ์ของลิงก์ในหัวข้อเฉพาะที่กำลังค้นหาเป็นส่วนใหญ่ และการรวบรวมข้อมูลแบบเน้นเป้าหมายมักจะอาศัยเครื่องมือค้นหาเว็บทั่วไปในการให้จุดเริ่มต้น

โปรแกรมรวบรวมข้อมูลที่เน้นด้านวิชาการ

ตัวอย่างของโปรแกรมรวบรวมข้อมูลแบบเน้นเฉพาะด้านได้แก่ โปรแกรมรวบรวมข้อมูลทางวิชาการ ซึ่งรวบรวมข้อมูลเอกสารทางวิชาการที่เข้าถึงได้ฟรี เช่นciteseerxbotซึ่งเป็นโปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหาCiteSeer X เครื่องมือค้นหาทางวิชาการอื่นๆ ได้แก่ Google ScholarและMicrosoft Academic Searchเป็นต้น เนื่องจากเอกสารทางวิชาการส่วนใหญ่เผยแพร่ใน รูปแบบ PDFโปรแกรมรวบรวมข้อมูลประเภทนี้จึงสนใจเป็นพิเศษในการรวบรวมข้อมูลไฟล์ PDF, PostScript , Microsoft Wordรวมถึง รูปแบบไฟล์ ซิปด้วยเหตุนี้ โปรแกรมรวบรวมข้อมูลโอเพนซอร์สทั่วไป เช่นHeritrixจึงต้องได้รับการปรับแต่งเพื่อกรองประเภท MIME อื่นๆ หรือใช้มิดเดิลแวร์ เพื่อแยกเอกสารเหล่านี้ออกมาและนำเข้าสู่ฐานข้อมูลและที่เก็บข้อมูลการรวบรวมข้อมูลแบบเน้นเฉพาะด้าน [ 28 ]การระบุว่าเอกสารเหล่านี้เป็นเอกสารทางวิชาการหรือไม่นั้นเป็นเรื่องท้าทายและอาจเพิ่มภาระให้กับกระบวนการรวบรวมข้อมูลอย่างมาก ดังนั้นจึงดำเนินการเป็นกระบวนการหลังการรวบรวมข้อมูลโดยใช้การเรียนรู้ของเครื่องหรือ อัลกอริธึม การแสดงออกปกติเอกสารทางวิชาการเหล่านี้มักได้รับจากหน้าแรกของคณะและนักศึกษา หรือจากหน้าสิ่งพิมพ์ของสถาบันวิจัย เนื่องจากเอกสารทางวิชาการคิดเป็นเพียงส่วนน้อยของหน้าเว็บทั้งหมด การเลือก seed ที่ดีจึงมีความสำคัญในการเพิ่มประสิทธิภาพของ web crawler เหล่านี้[ 29 ] crawler ทางวิชาการอื่นๆ อาจดาวน์โหลดไฟล์ข้อความธรรมดาและ ไฟล์ HTMLที่มีข้อมูลเมตาของเอกสารทางวิชาการ เช่น ชื่อเรื่อง บทความ และบทคัดย่อ ซึ่งจะเพิ่มจำนวนเอกสารโดยรวม แต่เอกสารจำนวนมากอาจไม่มีไฟล์ PDF ให้ดาวน์โหลดฟรี

โปรแกรมรวบรวมข้อมูลที่เน้นความหมาย

โปรแกรมรวบรวมข้อมูลแบบเน้นเป้าหมายอีกประเภทหนึ่งคือโปรแกรมรวบรวมข้อมูลแบบเน้นความหมาย ซึ่งใช้ออนโทโลยีโดเมนเพื่อแสดงแผนที่หัวข้อและเชื่อมโยงหน้าเว็บกับแนวคิดออนโทโลยีที่เกี่ยวข้องเพื่อวัตถุประสงค์ในการเลือกและจัดหมวดหมู่[ 30 ]นอกจากนี้ ออนโทโลยียังสามารถอัปเดตได้โดยอัตโนมัติในกระบวนการรวบรวมข้อมูล Dong et al. [ 31 ]ได้แนะนำโปรแกรมรวบรวมข้อมูลแบบเรียนรู้ออนโทโลยีโดยใช้เครื่องสนับสนุนเวกเตอร์เพื่ออัปเดตเนื้อหาของแนวคิดออนโทโลยีเมื่อรวบรวมข้อมูลหน้าเว็บ

นโยบายการเข้าชมซ้ำ

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

จากมุมมองของเครื่องมือค้นหา มีค่าใช้จ่ายที่เกี่ยวข้องกับการไม่ตรวจพบเหตุการณ์ และส่งผลให้มีสำเนาทรัพยากรที่ล้าสมัย ฟังก์ชันต้นทุนที่ใช้มากที่สุดคือความสดใหม่และอายุ[ 32 ]

ความสดใหม่ : นี่คือการวัดแบบไบนารีที่บ่งชี้ว่าสำเนาในเครื่องนั้นถูกต้องหรือไม่ ความสดใหม่ของหน้าpในที่เก็บข้อมูล ณ เวลาtกำหนดโดย:

เอฟพี(ที)={1ฉันเอฟ พี  ฉัน อีqคุณเอ ทีโอ ทีชม.อี โอเอ โอพีy เอที ทีฉันอี ที0โอทีชม.อีฉันอี{\displaystyle F_{p}(t)={\begin{cases}1&{\rm {if}}~p~{\rm {~is~equal~to~the~local~copy~at~time}}~t\\0&{\rm {otherwise}}\end{cases}}}

อายุ : นี่คือตัวชี้วัดที่บ่งบอกว่าสำเนาในเครื่องนั้นล้าสมัยแค่ไหน อายุของหน้าpในที่เก็บข้อมูล ณ เวลาtกำหนดโดย:

เอพี(ที)={0ฉันเอฟ พี  ฉัน nโอที โอฉันเอฟฉันอี เอที ทีฉันอี ทีทีโอฉันเอฟฉันเอทีฉันโอn ทีฉันอี โอเอฟ พีโอทีชม.อีฉันอี{\displaystyle A_{p}(t)={\begin{cases}0&{\rm {if}}~p~{\rm {~is~not~modified~at~time}}~t\\t-{\rm {modification~time~of}}~p&{\rm {otherwise}}\end{cases}}}

Coffman และคณะทำงานโดยใช้คำจำกัดความของวัตถุประสงค์ของเว็บครอว์เลอร์ที่เทียบเท่ากับความสดใหม่ แต่ใช้ถ้อยคำที่แตกต่างออกไป พวกเขาเสนอว่าครอว์เลอร์ต้องลดสัดส่วนของเวลาที่หน้าเว็บยังคงล้าสมัยให้น้อยที่สุด นอกจากนี้พวกเขายังตั้งข้อสังเกตว่าปัญหาของเว็บครอว์เลอร์สามารถจำลองได้เป็นระบบโพลลิ่งแบบหลายคิว เซิร์ฟเวอร์เดียว โดยที่เว็บครอว์เลอร์เป็นเซิร์ฟเวอร์และเว็บไซต์เป็นคิว การแก้ไขหน้าเว็บคือการมาถึงของลูกค้า และเวลาเปลี่ยนผ่านคือช่วงเวลาระหว่างการเข้าถึงหน้าเว็บไปยังเว็บไซต์เดียว ภายใต้แบบจำลองนี้ เวลารอเฉลี่ยของลูกค้าในระบบโพลลิ่งจะเทียบเท่ากับอายุเฉลี่ยของเว็บครอว์เลอร์[ 33 ]

เป้าหมายของโปรแกรมรวบรวมข้อมูลคือการรักษาระดับความทันสมัยเฉลี่ยของหน้าเว็บในคอลเลกชันให้สูงที่สุดเท่าที่จะเป็นไปได้ หรือรักษาระดับอายุเฉลี่ยของหน้าเว็บให้ต่ำที่สุดเท่าที่จะเป็นไปได้ เป้าหมายทั้งสองนี้ไม่เหมือนกัน: ในกรณีแรก โปรแกรมรวบรวมข้อมูลจะสนใจเพียงว่ามีหน้าเว็บที่ล้าสมัยกี่หน้า ในขณะที่ในกรณีที่สอง โปรแกรมรวบรวมข้อมูลจะสนใจว่าสำเนาหน้าเว็บในเครื่องนั้นมีอายุเท่าใด

วิวัฒนาการของความสดใหม่และอายุในเว็บครอว์เลอร์

Cho และ Garcia-Molina ได้ศึกษานโยบายการกลับมาเยี่ยมเยียนแบบง่ายๆ สองแบบ: [ 34 ]

  • นโยบายที่เป็นเอกภาพ: นโยบายนี้เกี่ยวข้องกับการกลับไปเยี่ยมชมทุกหน้าในชุดข้อมูลด้วยความถี่ที่เท่ากัน โดยไม่คำนึงถึงอัตราการเปลี่ยนแปลงของหน้าเหล่านั้น
  • นโยบายตามสัดส่วน: วิธีนี้เกี่ยวข้องกับการกลับไปเยี่ยมชมหน้าเว็บที่มีการเปลี่ยนแปลงบ่อยขึ้น ความถี่ในการเยี่ยมชมจะเป็นสัดส่วนโดยตรงกับความถี่ในการเปลี่ยนแปลง (โดยประมาณ)

ในทั้งสองกรณี ลำดับการรวบรวมข้อมูลหน้าเว็บซ้ำๆ สามารถทำได้ทั้งแบบสุ่มหรือแบบกำหนดลำดับไว้ล่วงหน้า

Cho และ Garcia-Molina ได้พิสูจน์ผลลัพธ์ที่น่าประหลาดใจว่า ในแง่ของความสดใหม่โดยเฉลี่ย นโยบายแบบสม่ำเสมอมีประสิทธิภาพเหนือกว่านโยบายแบบสัดส่วน ทั้งในเว็บจำลองและการรวบรวมข้อมูลเว็บจริง เหตุผลโดยสัญชาตญาณคือ เนื่องจากโปรแกรมรวบรวมข้อมูลเว็บมีข้อจำกัดว่าสามารถรวบรวมข้อมูลได้กี่หน้าในกรอบเวลาที่กำหนด (1) พวกมันจะจัดสรรการรวบรวมข้อมูลใหม่มากเกินไปให้กับหน้าที่มีการเปลี่ยนแปลงอย่างรวดเร็ว โดยเสียสละหน้าที่มีการเปลี่ยนแปลงน้อยกว่า และ (2) ความสดใหม่ของหน้าที่มีการเปลี่ยนแปลงอย่างรวดเร็วจะคงอยู่เป็นระยะเวลาสั้นกว่าหน้าที่มีการเปลี่ยนแปลงน้อยกว่า กล่าวอีกนัยหนึ่ง นโยบายแบบสัดส่วนจะจัดสรรทรัพยากรมากขึ้นให้กับการรวบรวมข้อมูลหน้าที่มีการเปลี่ยนแปลงบ่อย แต่จะมีความสดใหม่โดยรวมน้อยกว่า

เพื่อปรับปรุงความสดใหม่ โปรแกรมรวบรวมข้อมูลควรลงโทษองค์ประกอบที่เปลี่ยนแปลงบ่อยเกินไป[ 35 ]นโยบายการเยี่ยมชมซ้ำที่เหมาะสมที่สุดไม่ใช่ทั้งนโยบายแบบสม่ำเสมอหรือนโยบายแบบสัดส่วน วิธีการที่เหมาะสมที่สุดในการรักษาความสดใหม่โดยเฉลี่ยให้สูงนั้นรวมถึงการละเลยหน้าที่เปลี่ยนแปลงบ่อยเกินไป และวิธีการที่เหมาะสมที่สุดในการรักษาอายุเฉลี่ยให้ต่ำคือการใช้ความถี่ในการเข้าถึงที่เพิ่มขึ้นอย่างต่อเนื่อง (และต่ำกว่าเชิงเส้น) ตามอัตราการเปลี่ยนแปลงของแต่ละหน้า ในทั้งสองกรณี ค่าที่เหมาะสมที่สุดจะใกล้เคียงกับนโยบายแบบสม่ำเสมอมากกว่านโยบายแบบสัดส่วน ดังที่Coffman et al.ตั้งข้อสังเกตว่า "เพื่อลดเวลาการล้าสมัยที่คาดหวัง การเข้าถึงหน้าใดหน้าหนึ่งควรมีระยะห่างที่สม่ำเสมอที่สุดเท่าที่จะเป็นไปได้" [ 33 ]โดยทั่วไปแล้วไม่สามารถกำหนดสูตรที่ชัดเจนสำหรับนโยบายการเยี่ยมชมซ้ำได้ แต่จะได้รับในเชิงตัวเลข เนื่องจากขึ้นอยู่กับการกระจายของการเปลี่ยนแปลงหน้า Cho และ Garcia-Molina แสดงให้เห็นว่าการแจกแจงแบบเอกซ์โพเนนเชียลเหมาะสมดีสำหรับการอธิบายการเปลี่ยนแปลงของหน้าเว็บ[ 35 ]ในขณะที่Ipeirotis และคณะแสดงวิธีการใช้เครื่องมือทางสถิติเพื่อค้นหาพารามิเตอร์ที่ส่งผลต่อการแจกแจงนี้[ 36 ]นโยบายการกลับมาเยี่ยมชมที่พิจารณาในที่นี้ถือว่าทุกหน้าเว็บมีคุณภาพเหมือนกันหมด ("ทุกหน้าเว็บบนเว็บมีค่าเท่ากัน") ซึ่งไม่ใช่สถานการณ์ที่สมจริง ดังนั้นควรมีข้อมูลเพิ่มเติมเกี่ยวกับคุณภาพของหน้าเว็บเพื่อให้ได้นโยบายการรวบรวมข้อมูลที่ดีขึ้น

นโยบายความสุภาพ

โปรแกรมรวบรวมข้อมูล (Crawler) สามารถดึงข้อมูลได้เร็วกว่าและละเอียดกว่าผู้ค้นหาที่เป็นมนุษย์มาก ดังนั้นจึงอาจส่งผลกระทบอย่างรุนแรงต่อประสิทธิภาพของเว็บไซต์ หากโปรแกรมรวบรวมข้อมูลตัวเดียวทำการร้องขอหลายครั้งต่อวินาทีและ/หรือดาวน์โหลดไฟล์ขนาดใหญ่ เซิร์ฟเวอร์อาจรับมือกับการร้องขอจากโปรแกรมรวบรวมข้อมูลหลายตัวพร้อมกันไม่ไหว

ตามที่ Koster กล่าวไว้ การใช้เว็บครอว์เลอร์มีประโยชน์สำหรับงานหลายอย่าง แต่มีค่าใช้จ่ายสำหรับชุมชนทั่วไป[ 37 ]ค่าใช้จ่ายในการใช้เว็บครอว์เลอร์ ได้แก่:

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

วิธีแก้ปัญหาบางส่วนสำหรับปัญหาเหล่านี้คือโปรโตคอลการยกเว้นหุ่นยนต์หรือที่รู้จักกันในชื่อโปรโตคอล robots.txt ซึ่งเป็นมาตรฐานสำหรับผู้ดูแลระบบในการระบุส่วนต่างๆ ของเว็บเซิร์ฟเวอร์ที่ไม่ควรให้ครอว์เลอร์เข้าถึง[ 38 ]มาตรฐานนี้ไม่ได้รวมคำแนะนำสำหรับช่วงเวลาในการเยี่ยมชมเซิร์ฟเวอร์เดียวกัน แม้ว่าช่วงเวลานี้จะเป็นวิธีที่มีประสิทธิภาพที่สุดในการหลีกเลี่ยงการโอเวอร์โหลดเซิร์ฟเวอร์ก็ตาม เมื่อไม่นานมานี้ เครื่องมือค้นหาเชิงพาณิชย์ เช่นGoogle , Ask Jeeves , MSNและYahoo! Searchสามารถใช้พารามิเตอร์ "Crawl-delay:" เพิ่มเติมใน ไฟล์ robots.txtเพื่อระบุจำนวนวินาทีที่จะหน่วงเวลาระหว่างคำขอ

ช่วงเวลาแรกที่เสนอระหว่างการโหลดหน้าเว็บที่ต่อเนื่องกันคือ 60 วินาที[ 39 ]อย่างไรก็ตาม หากมีการดาวน์โหลดหน้าเว็บในอัตรานี้จากเว็บไซต์ที่มีมากกว่า 100,000 หน้าผ่านการเชื่อมต่อที่สมบูรณ์แบบด้วยความหน่วงเป็นศูนย์และแบนด์วิดท์ไม่จำกัด จะต้องใช้เวลามากกว่า 2 เดือนในการดาวน์โหลดเว็บไซต์ทั้งหมดนั้น นอกจากนี้ จะมีการใช้ทรัพยากรจากเว็บเซิร์ฟเวอร์เพียงส่วนน้อยเท่านั้น

Cho ใช้ช่วงเวลา 10 วินาทีสำหรับการเข้าถึง[ 34 ]และ WIRE crawler ใช้ 15 วินาทีเป็นค่าเริ่มต้น[ 40 ] MercatorWeb crawler ปฏิบัติตามนโยบายความสุภาพแบบปรับได้: หากใช้เวลาtวินาทีในการดาวน์โหลดเอกสารจากเซิร์ฟเวอร์ที่กำหนด crawler จะรอ 10 tวินาทีก่อนที่จะดาวน์โหลดหน้าถัดไป[ 41 ] Dill และคณะใช้ 1 วินาที[ 42 ]

สำหรับผู้ที่ใช้เว็บครอว์เลอร์เพื่อวัตถุประสงค์ในการวิจัย จำเป็นต้องมีการวิเคราะห์ต้นทุนและผลประโยชน์ที่ละเอียดมากขึ้น และควรคำนึงถึงข้อควรพิจารณาด้านจริยธรรมเมื่อตัดสินใจว่าจะครอว์เลอร์ที่ใดและครอว์เลอร์ด้วยความเร็วเท่าใด[ 43 ]

หลักฐานเชิงประจักษ์จากบันทึกการเข้าถึงแสดงให้เห็นว่าช่วงเวลาการเข้าถึงจากครอว์เลอร์ที่รู้จักนั้นแตกต่างกันไปตั้งแต่ 20 วินาทีถึง 3–4 นาที เป็นที่น่าสังเกตว่าแม้จะสุภาพมากและใช้มาตรการป้องกันทั้งหมดเพื่อหลีกเลี่ยงการโอเวอร์โหลดเว็บเซิร์ฟเวอร์ แต่ก็ยังได้รับการร้องเรียนจากผู้ดูแลระบบเว็บเซิร์ฟเวอร์อยู่บ้างSergey BrinและLarry Pageตั้งข้อสังเกตในปี 1998 ว่า "...การใช้งานครอว์เลอร์ที่เชื่อมต่อกับเซิร์ฟเวอร์มากกว่าครึ่งล้านเครื่อง...ก่อให้เกิดอีเมลและโทรศัพท์จำนวนมาก เนื่องจากมีผู้คนจำนวนมากเข้ามาใช้งานออนไลน์ จึงมีผู้ที่ไม่รู้จักครอว์เลอร์อยู่เสมอ เพราะนี่เป็นครั้งแรกที่พวกเขาเห็น" [ 44 ]

นโยบายการทำงานแบบขนาน

โปรแกรม รวบรวมข้อมูล แบบขนาน (Parallel crawler) คือโปรแกรมรวบรวมข้อมูลที่ทำงานหลายกระบวนการพร้อมกัน เป้าหมายคือการเพิ่มอัตราการดาวน์โหลดให้สูงสุด ในขณะที่ลดภาระจากการทำงานแบบขนานให้น้อยที่สุด และหลีกเลี่ยงการดาวน์โหลดหน้าเดียวกันซ้ำๆ เพื่อหลีกเลี่ยงการดาวน์โหลดหน้าเดียวกันมากกว่าหนึ่งครั้ง ระบบรวบรวมข้อมูลจึงต้องมีนโยบายสำหรับการกำหนด URL ใหม่ที่ค้นพบระหว่างกระบวนการรวบรวมข้อมูล เนื่องจาก URL เดียวกันอาจถูกค้นพบโดยกระบวนการรวบรวมข้อมูลสองกระบวนการที่แตกต่างกัน

สถาปัตยกรรม

โครงสร้างระดับสูงของโปรแกรมรวบรวมข้อมูลเว็บมาตรฐาน

โปรแกรมรวบรวมข้อมูลไม่เพียงแต่ต้องมีกลยุทธ์การรวบรวมข้อมูลที่ดีดังที่ได้กล่าวไว้ในหัวข้อก่อนหน้านี้เท่านั้น แต่ยังควรมีสถาปัตยกรรมที่ได้รับการปรับแต่งอย่างดีเยี่ยมอีกด้วย

Shkapenyuk และ Suel ตั้งข้อสังเกตว่า: [ 45 ]

แม้ว่าจะค่อนข้างง่ายที่จะสร้างโปรแกรมรวบรวมข้อมูลที่ทำงานช้าซึ่งดาวน์โหลดได้เพียงไม่กี่หน้าต่อวินาทีในช่วงเวลาสั้นๆ แต่การสร้างระบบประสิทธิภาพสูงที่สามารถดาวน์โหลดหลายร้อยล้านหน้าในระยะเวลาหลายสัปดาห์นั้นมีความท้าทายหลายประการในด้านการออกแบบระบบ ประสิทธิภาพด้าน I/O และเครือข่าย รวมถึงความทนทานและการจัดการ

โปรแกรมรวบรวมข้อมูลบนเว็บ (Web crawler) เป็นส่วนสำคัญของเครื่องมือค้นหา และรายละเอียดเกี่ยวกับอัลกอริทึมและสถาปัตยกรรมของโปรแกรมเหล่านี้ถูกเก็บเป็นความลับทางธุรกิจ เมื่อมีการเผยแพร่การออกแบบโปรแกรมรวบรวมข้อมูล มักจะขาดรายละเอียดที่สำคัญซึ่งทำให้ผู้อื่นไม่สามารถทำซ้ำได้ นอกจากนี้ยังมีข้อกังวลที่เกิดขึ้นใหม่เกี่ยวกับ " การสแปมเครื่องมือค้นหา " ซึ่งทำให้เครื่องมือค้นหาหลัก ๆ ไม่เผยแพร่อัลกอริทึมการจัดอันดับของตน

ความปลอดภัย

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

นอกเหนือจาก คำแนะนำ ด้านความปลอดภัยของแอปพลิเคชันเว็บ มาตรฐานแล้ว เจ้าของเว็บไซต์ยังสามารถลดความเสี่ยงจากการถูกแฮ็กโดยฉวยโอกาสได้โดยการอนุญาตให้เครื่องมือค้นหาจัดทำดัชนีเฉพาะส่วนสาธารณะของเว็บไซต์เท่านั้น (ด้วยrobots.txt ) และบล็อกไม่ให้เครื่องมือค้นหาจัดทำดัชนีส่วนที่เกี่ยวข้องกับการทำธุรกรรม (หน้าเข้าสู่ระบบ หน้าส่วนตัว ฯลฯ) อย่างชัดเจน

การระบุตัวตนของครอว์เลอร์

โดยทั่วไปแล้ว โปรแกรมรวบรวมข้อมูลเว็บ (Web crawler) จะระบุตัวตนให้กับเว็บเซิร์ฟเวอร์โดยใช้ ฟิลด์ User-agentใน คำขอ HTTPผู้ดูแลเว็บไซต์มักจะตรวจสอบ บันทึกของ เว็บเซิร์ฟเวอร์และใช้ฟิลด์ User-agent เพื่อตรวจสอบว่าโปรแกรมรวบรวมข้อมูลใดบ้างที่เข้าเยี่ยมชมเว็บเซิร์ฟเวอร์และบ่อยแค่ไหน ฟิลด์ User-agent อาจมีURLที่ผู้ดูแลเว็บไซต์สามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมรวบรวมข้อมูลได้ การตรวจสอบบันทึกของเว็บเซิร์ฟเวอร์เป็นงานที่ยุ่งยาก ดังนั้นผู้ดูแลระบบบางคนจึงใช้เครื่องมือเพื่อระบุ ติดตาม และตรวจสอบโปรแกรมรวบรวมข้อมูลเว็บสแปมบอทและโปรแกรมรวบรวมข้อมูลเว็บที่เป็นอันตรายอื่นๆ มักจะไม่ใส่ข้อมูลระบุตัวตนในฟิลด์ User-agent หรืออาจปลอมแปลงตัวตนเป็นเบราว์เซอร์หรือโปรแกรมรวบรวมข้อมูลที่รู้จักกันดีอื่นๆ

ผู้ดูแลเว็บไซต์มักต้องการให้โปรแกรมรวบรวมข้อมูลเว็บ (web crawler) ระบุตัวตน เพื่อที่จะได้ติดต่อเจ้าของเว็บไซต์ได้หากจำเป็น ในบางกรณี โปรแกรมรวบรวมข้อมูลอาจติดกับดัก โดยไม่ตั้งใจ หรืออาจส่งคำขอไปยังเซิร์ฟเวอร์เว็บมากเกินไปจนเจ้าของเว็บไซต์ต้องหยุดการทำงานของโปรแกรมรวบรวมข้อมูล การระบุตัวตนยังเป็นประโยชน์สำหรับผู้ดูแลระบบที่ต้องการทราบว่าเมื่อใดที่หน้าเว็บของตนจะได้รับการจัดทำดัชนีโดยเครื่องมือค้นหา เฉพาะ เจาะจง

การท่องเว็บลึก

เว็บเพจจำนวนมหาศาลอยู่ในเว็บลึกหรือเว็บที่มองไม่เห็น[ 46 ]โดยทั่วไปแล้ว หน้าเว็บเหล่านี้จะเข้าถึงได้โดยการส่งคำค้นหาไปยังฐานข้อมูลเท่านั้น และโปรแกรมรวบรวมข้อมูลทั่วไปจะไม่สามารถค้นหาหน้าเว็บเหล่านี้ได้หากไม่มีลิงก์ที่ชี้ไปยังหน้าเว็บเหล่านั้น โปรโตคอล Sitemaps ของ Google และmod oai [ 47 ]มีจุดประสงค์เพื่อให้สามารถค้นพบทรัพยากรเว็บลึก เหล่านี้ได้

การรวบรวมข้อมูลเว็บเชิงลึกยังเพิ่มจำนวนลิงก์เว็บที่จะถูกรวบรวมอีกด้วย โปรแกรมรวบรวมข้อมูลบางตัวจะดึงข้อมูลเฉพาะ URL บางส่วนเท่านั้น ในบางกรณี เช่นGooglebotการรวบรวมข้อมูลเว็บจะทำกับข้อความทั้งหมดที่อยู่ในเนื้อหาไฮเปอร์เท็กซ์ แท็ก หรือข้อความ<a href="URL">

แนวทางเชิงกลยุทธ์อาจถูกนำมาใช้เพื่อกำหนดเป้าหมายเนื้อหาเว็บลึก ด้วยเทคนิคที่เรียกว่าscreen scrapingซอฟต์แวร์เฉพาะทางอาจได้รับการปรับแต่งเพื่อสอบถามแบบฟอร์มเว็บที่กำหนดโดยอัตโนมัติและซ้ำ ๆ โดยมีจุดประสงค์เพื่อรวบรวมข้อมูลที่ได้ ซอฟต์แวร์ดังกล่าวสามารถใช้เพื่อครอบคลุมแบบฟอร์มเว็บหลายแบบในหลายเว็บไซต์ ข้อมูลที่ดึงมาจากผลลัพธ์ของการส่งแบบฟอร์มเว็บหนึ่งสามารถนำไปใช้เป็นอินพุตสำหรับแบบฟอร์มเว็บอื่นได้ จึงสร้างความต่อเนื่องในเว็บลึกในแบบที่ไม่สามารถทำได้ด้วยโปรแกรมรวบรวมข้อมูลเว็บแบบดั้งเดิม[ 48 ]

หน้าเว็บที่สร้างด้วยAJAXเป็นหนึ่งในหน้าเว็บที่ก่อให้เกิดปัญหาแก่โปรแกรมรวบรวมข้อมูลเว็บGoogleได้เสนอรูปแบบการเรียกใช้ AJAX ที่บอทของพวกเขาสามารถจดจำและจัดทำดัชนีได้[ 49 ]

โปรแกรมรวบรวมข้อมูลแบบภาพเทียบกับแบบโปรแกรม

มีผลิตภัณฑ์ "โปรแกรมดึงข้อมูล/รวบรวมข้อมูลเว็บแบบภาพ" จำนวนมากบนเว็บ ซึ่งจะดึงข้อมูลจากหน้าเว็บและจัดโครงสร้างข้อมูลเป็นคอลัมน์และแถวตามความต้องการของผู้ใช้ ความแตกต่างหลักอย่างหนึ่งระหว่างโปรแกรมดึงข้อมูลแบบคลาสสิกและแบบภาพคือระดับความสามารถในการเขียนโปรแกรมที่จำเป็นในการตั้งค่าโปรแกรมดึงข้อมูล โปรแกรมดึงข้อมูลแบบภาพรุ่นใหม่ล่าสุดได้ลดทักษะการเขียนโปรแกรมส่วนใหญ่ที่จำเป็นในการเขียนโปรแกรมและเริ่มต้นการดึงข้อมูลจากเว็บลงไปแล้ว

วิธีการดึง/รวบรวมข้อมูลด้วยภาพนั้นอาศัยผู้ใช้ในการ "สอน" เทคโนโลยีการรวบรวมข้อมูล ซึ่งจะติดตามรูปแบบในแหล่งข้อมูลกึ่งโครงสร้าง วิธีการหลักในการสอนการรวบรวมข้อมูลด้วยภาพคือการไฮไลต์ข้อมูลในเบราว์เซอร์และฝึกคอลัมน์และแถว แม้ว่าเทคโนโลยีนี้จะไม่ใช่เรื่องใหม่ ตัวอย่างเช่น มันเป็นพื้นฐานของ Needlebase ซึ่ง Google ได้ซื้อไป (เป็นส่วนหนึ่งของการเข้าซื้อกิจการ ITA Labs ที่ใหญ่กว่า[ 50 ] ) แต่ก็ยังมีการเติบโตและการลงทุนอย่างต่อเนื่องในด้านนี้จากนักลงทุนและผู้ใช้ปลายทาง

รายชื่อเว็บครอว์เลอร์

ต่อไปนี้คือรายชื่อสถาปัตยกรรมของโปรแกรมรวบรวมข้อมูล (crawler) ที่เผยแพร่แล้ว สำหรับโปรแกรมรวบรวมข้อมูลทั่วไป (ไม่รวมโปรแกรมรวบรวมข้อมูลเฉพาะทาง) พร้อมคำอธิบายโดยย่อ ซึ่งรวมถึงชื่อที่ใช้เรียกส่วนประกอบต่างๆ และคุณสมบัติเด่น:

โปรแกรมรวบรวมข้อมูลเว็บในอดีต

  • WolfBotเป็นหุ่นยนต์สำรวจแบบมัลติเธรดขนาดใหญ่ที่สร้างขึ้นในปี 2001 โดย Mani Singh ผู้สำเร็จการศึกษาด้านวิศวกรรมโยธาจากมหาวิทยาลัยแคลิฟอร์เนียที่เดวิส
  • World Wide Web Wormเป็นโปรแกรมรวบรวมข้อมูลที่ใช้สร้างดัชนีอย่างง่ายของชื่อเอกสารและ URL ดัชนีนี้สามารถค้นหาได้โดยใช้คำสั่งgrepUnix
  • Yahoo! Slurp เดิมทีเป็นชื่อของ โปรแกรมรวบรวมข้อมูลบนเว็บ ของ Yahoo!จนกระทั่ง Yahoo! ทำสัญญากับMicrosoftเพื่อใช้Bingbotแทน

โปรแกรมรวบรวมข้อมูลเว็บภายในองค์กร

  • Applebot คือ เว็บครอว์เลอร์ของ AppleรองรับSiriและผลิตภัณฑ์อื่นๆ[ 51 ]
  • Bingbotคือชื่อของ โปรแกรมรวบรวมข้อมูลเว็บ Bing ของ Microsoft ซึ่งเข้ามาแทนที่Msnbot
  • Baiduspider คือโปรแกรมรวบรวมข้อมูลเว็บของBaidu
  • DuckDuckBot คือโปรแกรมรวบรวมข้อมูลเว็บของDuckDuckGo
  • Googlebotได้รับการอธิบายอย่างละเอียดในระดับหนึ่ง แต่เอกสารอ้างอิงนั้นกล่าวถึงเฉพาะสถาปัตยกรรมเวอร์ชันแรกๆ ซึ่งเขียนด้วยภาษา C++ และPythonเท่านั้น ตัวรวบรวมข้อมูลถูกรวมเข้ากับกระบวนการจัดทำดัชนี เนื่องจากมีการแยกวิเคราะห์ข้อความสำหรับการจัดทำดัชนีข้อความเต็มรูปแบบและการดึง URL มีเซิร์ฟเวอร์ URL ที่ส่งรายการ URL ที่จะถูกดึงโดยกระบวนการรวบรวมข้อมูลหลายๆ กระบวนการ ระหว่างการแยกวิเคราะห์ URL ที่พบจะถูกส่งไปยังเซิร์ฟเวอร์ URL ซึ่งจะตรวจสอบว่าเคยพบ URL นั้นมาก่อนหรือไม่ หากไม่เคยพบ URL นั้นจะถูกเพิ่มเข้าไปในคิวของเซิร์ฟเวอร์ URL
  • WebCrawlerถูกใช้เพื่อสร้างดัชนีข้อความเต็มรูปแบบสาธารณะชุดแรกของส่วนย่อยของเว็บ โดยใช้lib-WWWในการดาวน์โหลดหน้าเว็บ และโปรแกรมอีกตัวในการวิเคราะห์และจัดเรียง URL สำหรับการสำรวจกราฟเว็บแบบกว้าง (breadth-first exploration) นอกจากนี้ยังรวมถึงโปรแกรมรวบรวมข้อมูลแบบเรียลไทม์ที่ติดตามลิงก์โดยพิจารณาจากความคล้ายคลึงกันของข้อความแองเคอร์กับคำค้นหาที่ให้มา
  • WebFountainเป็นโปรแกรมรวบรวมข้อมูลแบบกระจายและโมดูลาร์ คล้ายกับ Mercator แต่เขียนด้วยภาษา C++
  • Xenonเป็นเว็บครอว์เลอร์ที่หน่วยงานภาษีของรัฐบาลใช้ในการตรวจจับการฉ้อโกง[ 52 ] [ 53 ]

โปรแกรมรวบรวมข้อมูลเว็บเชิงพาณิชย์

โปรแกรมรวบรวมข้อมูลเว็บต่อไปนี้มีให้บริการ โดยมีค่าใช้จ่าย:

  • Diffbot – โปรแกรมรวบรวมข้อมูลเว็บทั่วไปที่ทำงานโดยอัตโนมัติ มีให้ใช้งานในรูปแบบAPI
  • SortSite – โปรแกรมรวบรวมข้อมูลสำหรับวิเคราะห์เว็บไซต์ มีให้ใช้งานสำหรับWindowsและMac OS
  • Swiftbot – โปรแกรมรวบรวมข้อมูลเว็บของSwiftype ซึ่งให้บริการในรูป แบบซอฟต์แวร์เป็นบริการ (SaaS)
  • Aleph Search – โปรแกรมรวบรวมข้อมูลเว็บที่ช่วยให้สามารถรวบรวมข้อมูลจำนวนมหาศาลได้อย่างมีประสิทธิภาพสูง

โปรแกรมรวบรวมข้อมูลแบบโอเพนซอร์ส

  • Apache Nutchเป็นเว็บครอว์เลอร์ที่มีความยืดหยุ่นและปรับขนาดได้สูง เขียนด้วยภาษา Java และเผยแพร่ภายใต้Apache License โดยใช้ Apache Hadoopเป็นพื้นฐานและสามารถใช้งานร่วมกับApache SolrหรือElasticsearchได้
  • Grubเป็นเว็บครอว์เลอร์แบบกระจายศูนย์โอเพนซอร์สที่Wikia Searchใช้
  • Heritrixคือ โปรแกรมรวบรวมข้อมูลคุณภาพสูงสำหรับการเก็บรักษาข้อมูลของ Internet Archiveซึ่งออกแบบมาเพื่อเก็บรักษาภาพรวมของเว็บไซต์ส่วนใหญ่บนเว็บเป็นระยะๆ โปรแกรมนี้เขียนด้วยภาษาJava
  • ht://Digมีเว็บครอว์เลอร์รวมอยู่ในระบบจัดทำดัชนีของมัน
  • HTTrackใช้โปรแกรมรวบรวมข้อมูลเว็บเพื่อสร้างสำเนาของเว็บไซต์สำหรับการดูแบบออฟไลน์ โปรแกรมนี้เขียนด้วยภาษาซีและเผยแพร่ภายใต้ใบอนุญาต GPL
  • Norconex Web Crawler เป็นโปรแกรมรวบรวมข้อมูลเว็บที่สามารถปรับแต่งได้อย่างมาก เขียนด้วยภาษา Javaและเผยแพร่ภายใต้Apache Licenseสามารถใช้งานร่วมกับแหล่งเก็บข้อมูลหลายแห่ง เช่นApache Solr , Elasticsearch , Microsoft Azure Cognitive Search , Amazon CloudSearchและอื่นๆ
  • mnoGoSearchเป็นโปรแกรมรวบรวมข้อมูล จัดทำดัชนี และเป็นเครื่องมือค้นหาที่เขียนด้วยภาษาซีและได้รับอนุญาตภายใต้ GPL ซึ่งเปิดใช้งานตั้งแต่ปี 2000 ถึง 2022
  • Open Search Serverเป็นซอฟต์แวร์เครื่องมือค้นหาและรวบรวมข้อมูลบนเว็บที่เผยแพร่ภายใต้ใบอนุญาต GPL
  • Scrapyคือเฟรมเวิร์กโอเพนซอร์สสำหรับรวบรวมข้อมูลจากเว็บไซต์ เขียนด้วยภาษา Python (ได้รับอนุญาตภายใต้BSD )
  • Seeksคือเครื่องมือค้นหาแบบกระจายศูนย์ฟรี (ได้รับอนุญาตภายใต้AGPL )
  • StormCrawlerคือชุดทรัพยากรสำหรับการสร้างเว็บครอว์เลอร์ที่มีความหน่วงต่ำและปรับขนาดได้บนApache Storm (ลิขสิทธิ์ Apache)
  • tkWWW Robotคือโปรแกรมรวบรวมข้อมูลที่ใช้ เว็บเบราว์เซอร์ tkWWW เป็นพื้นฐาน (ได้รับอนุญาตภายใต้ GPL)
  • GNU Wgetเป็น โปรแกรมรวบรวมข้อมูลแบบใช้ คำสั่งบรรทัดเขียนด้วยภาษา Cและเผยแพร่ภายใต้ใบอนุญาต GPLโดยทั่วไปแล้วจะใช้ในการคัดลอกเว็บไซต์และไฟล์ FTP
  • YaCyคือเครื่องมือค้นหาแบบกระจายศูนย์ฟรี ที่สร้างขึ้นบนหลักการของเครือข่ายแบบ Peer-to-Peer (ได้รับอนุญาตภายใต้ GPL)

ดูเพิ่มเติม

  1. "โปรแกรมรวบรวมข้อมูลเว็บ: การท่องเว็บ" . เก็บถาวรจากต้นฉบับเมื่อวันที่ 6 ธันวาคม 2021
  2. Lawrence, Steve; Giles, C. Lee (1998). "การค้นหาบนเว็บทั่วโลก". Science . 280 (5360): 98– 100. doi : 10.1126/science.280.5360.98 .
  3. Lawrence, Steve; Giles, C. Lee (1999). "การเข้าถึงข้อมูลบนเว็บ" Nature . 400 (6740): 107– 109. doi : 10.1038/21987 .
  4. "คู่มือเชิงลึกเกี่ยวกับวิธีการทำงานของ Google Search" . Google Search Central . Google . สืบค้นเมื่อ11 มิถุนายน 2026 .
  5. สเปตก้า, สก็อตต์. "หุ่นยนต์ TkWWW: เหนือกว่าการท่องเว็บ" . NCSA . เก็บถาวรจากต้นฉบับเมื่อวันที่ 3 กันยายน 2547 . สืบค้นเมื่อ21 พฤศจิกายน 2553 .
  6. Kobayashi, M. & Takeda, K. (2000). "การค้นหาข้อมูลบนเว็บ". ACM Computing Surveys . 32 (2): 144– 173. CiteSeerX 10.1.1.126.6094 . doi : 10.1145/358923.358934 . S2CID 3710903 .  
  7. ดูคำจำกัดความของ scutter ในวิกิของโครงการ FOAF เก็บถาวรเมื่อวันที่ 13 ธันวาคม 2009 ที่Wayback Machine
  8. Masanès, Julien (15 กุมภาพันธ์ 2550). การเก็บรักษาข้อมูลบนเว็บ . Springer. หน้า1. ISBN  978-3-54046332-0สืบค้นข้อมูลเมื่อ วัน ที่24 เมษายน 2557
  9. Edwards, J.; McCurley, KS; และ Tomlin, JA (2001). "แบบจำลองปรับตัวเพื่อเพิ่มประสิทธิภาพของโปรแกรมรวบรวมข้อมูลเว็บแบบเพิ่มทีละน้อย". รายงานการประชุมนานาชาติครั้งที่ 10 ว่าด้วยเวิลด์ไวด์เว็บหน้า106–113 . CiteSeerX 10.1.1.1018.1506 . doi : 10.1145/371920.371960 . ISBN   978-1581133486S2CID 10316730เก็บถาวรจากต้นฉบับเมื่อวันที่ 25 มิถุนายน 2014 เรียกดูเมื่อวันที่25 มกราคม 2007 {{cite book}}: CS1 maint: multiple names: authors list ( link )
  10. คาสติลโล, คาร์ลอส (2004). การรวบรวมข้อมูลเว็บอย่างมีประสิทธิภาพ (วิทยานิพนธ์ปริญญาเอก). มหาวิทยาลัยชิลี. สืบค้นเมื่อ3 สิงหาคม 2010 .
  11. Gulls, A.; A. Signori (2005). "เว็บที่สามารถจัดทำดัชนีได้มีมากกว่า 11.5 พันล้านหน้า" แทร็กที่น่าสนใจพิเศษและโปสเตอร์ของการประชุมนานาชาติครั้ง ที่14 ว่าด้วยเวิลด์ไวด์เว็บ ACM Press. หน้า902–903 . doi : 10.1145/1062745.1062789 
  12. Lawrence, Steve; C. Lee Giles (8 กรกฎาคม 1999). " การเข้าถึงข้อมูลบนเว็บ" Nature . 400 (6740): 107–9 . Bibcode : 1999Natur.400..107L . doi : 10.1038 / 21987 . PMID 10428673. S2CID 4347646 .  
  13. Cho, J.; Garcia-Molina, H.; Page, L. (เมษายน 1998). "แคลอริเมตรีในฟิสิกส์พลังงานสูง"การประชุมเว็บทั่วโลกนานาชาติครั้งที่ 7 บริสเบนออสเตรเลียdoi : 10.1142/3725 ISBN 978-981-02-3400-3สืบค้นข้อมูลเมื่อ วัน ที่23 มีนาคม 2552
  14. Cho, Junghoo, "การรวบรวมข้อมูลบนเว็บ: การค้นพบและการบำรุงรักษาข้อมูลเว็บขนาดใหญ่" เก็บถาวรเมื่อวันที่ 21 ธันวาคม 2012 ที่Wayback Machineวิทยานิพนธ์ปริญญาเอก ภาควิชาวิทยาการคอมพิวเตอร์ มหาวิทยาลัยสแตนฟอร์ด พฤศจิกายน 2001
  15. Najork, Marcและ Janet L. Wiener. "การรวบรวมข้อมูลแบบกว้างๆ ให้ผลลัพธ์เป็นหน้าเว็บคุณภาพสูง". เก็บถาวรเมื่อวันที่ 24 ธันวาคม 2017 ที่Wayback Machineใน:รายงานการประชุมครั้งที่สิบว่าด้วยเวิลด์ไวด์เว็บหน้า 114–118 ฮ่องกง พฤษภาคม 2001. Elsevier Science.
  16. Abiteboul, Serge; Mihai Preda; Gregory Cobena (2003). "การคำนวณความสำคัญของหน้าเว็บออนไลน์แบบปรับตัวได้" . รายงานการประชุมนานาชาติครั้งที่ 12 ว่าด้วยเวิลด์ไวด์เว็บ . บูดาเปสต์, ฮังการี: ACM. หน้า280–290 . doi : 10.1145/775152.775192 . ISBN  1-58113-680-3เก็บถาวรจากต้นฉบับเมื่อวันที่ 20 มีนาคม 2551 เรียกดูเมื่อวันที่ 22 มีนาคม 2552
  17. Boldi, Paolo; Bruno Codenotti; Massimo Santini; Sebastiano Vigna (2004). "UbiCrawler: โปรแกรมรวบรวมข้อมูลเว็บแบบกระจายศูนย์ที่ปรับขนาดได้" (PDF) . ซอฟต์แวร์: การปฏิบัติและประสบการณ์ . 34 (8): 711– 726. CiteSeerX 10.1.1.2.5538 . doi : 10.1002/spe.587 . S2CID 325714 . เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 20 มีนาคม 2009 . สืบค้นเมื่อ23 มีนาคม 2009 .  
  18. Boldi, Paolo; Massimo Santini; Sebastiano Vigna (2004). "Do Your Worst to Make the Best: Paradoxical Effects in PageRank Incremental Computations" (PDF) . Algorithms and Models for the Web-Graph . Lecture Notes in Computer Science. Vol. 3243. pp. 168– 180. doi : 10.1007/978-3-540-30216-2_14 . ISBN   978-3-540-23427-2เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 1 ตุลาคม 2548 เรียกดูเมื่อวันที่ 23 มีนาคม 2552
  19. Baeza-Yates, R.; Castillo, C.; Marin, M. และ Rodriguez, A. (2005). "การรวบรวมข้อมูลประเทศ: กลยุทธ์ที่ดีกว่าการค้นหาแบบกว้างสำหรับการจัดเรียงหน้าเว็บ"ใน:รายงานการประชุมภาคอุตสาหกรรมและประสบการณ์เชิงปฏิบัติของการประชุม World Wide Web ครั้งที่ 14หน้า 864–872, ชิบะ ประเทศญี่ปุ่น. สำนักพิมพ์ ACM.
  20. Shervin Daneshpajouh, Mojtaba Mohammadi Nasiri, Mohammad Ghodsi, อัลกอริทึมแบบชุมชนที่รวดเร็วสำหรับการสร้างชุดเมล็ดพันธุ์ของโปรแกรมรวบรวมข้อมูลใน:รายงานการประชุมนานาชาติครั้งที่ 4 ว่าด้วยระบบสารสนเทศและเทคโนโลยีบนเว็บ ( Webist -2008), ฟุงชาล, โปรตุเกส, พฤษภาคม 2551
  21. Pant, Gautam; Srinivasan, Padmini; Menczer, Filippo (2004). "การรวบรวมข้อมูลบนเว็บ" (PDF)ใน Levene, Mark; Poulovassilis, Alexandra (บรรณาธิการ). พลวัตของเว็บ: การปรับตัวให้เข้ากับการเปลี่ยนแปลงใน เนื้อหาขนาด โครงสร้าง และการใช้งาน Springer หน้า153–178 ISBN  978-3-540-40676-1เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 20 มีนาคม 2552 เรียกดูเมื่อวันที่ 9 พฤษภาคม 2549
  22. Cothey, Viv (2004). "ความน่าเชื่อถือของการรวบรวมข้อมูลเว็บ" (PDF)วารสารของสมาคมวิทยาศาสตร์และเทคโนโลยีสารสนเทศแห่งอเมริกา 55 ( 14): 1228– 1238. CiteSeerX 10.1.1.117.185 . doi : 10.1002/asi.20078 . เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 22 กันยายน 2017 . สืบค้นเมื่อ26 ตุลาคม 2017 . 
  23. Menczer, F. (1997). ARACHNID: Adaptive Retrieval Agents Choosing Heuristic Neighborhoods for Information Discovery เก็บถาวรเมื่อวันที่ 21 ธันวาคม 2012 ที่Wayback Machineใน D. Fisher, ed., Machine Learning: Proceedings of the 14th International Conference (ICML97). Morgan Kaufmann
  24. Menczer, F. และ Belew, RK (1998). Adaptive Information Agents in Distributed Textual Environments เก็บถาวรเมื่อวันที่ 21 ธันวาคม 2012 ที่Wayback Machineใน K. Sycara และ M. Wooldridge (บรรณาธิการ) Proc. 2nd Intl. Conf. on Autonomous Agents (Agents '98). ACM Press
  25. Chakrabarti, Soumen; Van Den Berg, Martin; Dom, Byron (1999). "การรวบรวมข้อมูลแบบเน้นเฉพาะเรื่อง: แนวทางใหม่สำหรับการค้นหาทรัพยากรเว็บเฉพาะหัวข้อ" (PDF)เครือข่ายคอมพิวเตอร์31 ( 11– 16): 1623– 1640. doi : 10.1016/s1389-1286(99)00052-3 . เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 17 มีนาคม 2547
  26. Pinkerton, B. (1994).การค้นหาสิ่งที่ผู้คนต้องการ: ประสบการณ์กับ WebCrawlerในรายงานการประชุม World Wide Web ครั้งแรก ณ เจนีวา ประเทศสวิตเซอร์แลนด์
  27. Diligenti, M., Coetzee, F., Lawrence, S., Giles, CL และ Gori, M. (2000).การรวบรวมข้อมูลแบบเน้นโดยใช้กราฟบริบทในรายงานการประชุมนานาชาติว่าด้วยฐานข้อมูลขนาดใหญ่มากครั้งที่ 26 (VLDB) หน้า 527-534 ไคโร ประเทศอียิปต์
  28. Wu, Jian; Teregowda, Pradeep; Khabsa, Madian; Carman, Stephen; Jordan, Douglas; San Pedro Wandelmer, Jose; Lu, Xin; Mitra, Prasenjit; Giles, C. Lee (2012). "Web crawler middleware for search engine digital libraries". Proceedings of the twelfth international workshop on Web information and data management - WIDM '12 . p. 57. doi : 10.1145/2389936.2389949 . ISBN  9781450317207. S2CID 18513666 . 
  29. Wu, Jian; Teregowda, Pradeep; Ramírez, Juan Pablo Fernández; Mitra, Prasenjit; Zheng, Shuyi; Giles, C. Lee (2012). "วิวัฒนาการของกลยุทธ์การรวบรวมข้อมูลสำหรับเครื่องมือค้นหาเอกสารทางวิชาการ". รายงานการประชุมวิชาการ ACM Web Science ครั้งที่ 3 ประจำปี - Web Sci '12 . หน้า340–343 . doi : 10.1145/2380718.2380762 . ISBN  9781450312288. S2CID 16718130 . 
  30. Dong, Hai; Hussain, Farookh Khadeer; Chang, Elizabeth (2009). "สถานะของศิลปะในโปรแกรมรวบรวมข้อมูลที่เน้นความหมาย" . วิทยาศาสตร์การคำนวณและการประยุกต์ใช้ – ICCSA 2009 . บันทึกการบรรยายในวิทยาศาสตร์คอมพิวเตอร์. เล่มที่5593. หน้า910– 924. doi : 10.1007/978-3-642-02457-3_74 . hdl : 20.500.11937/48288 . ISBN   978-3-642-02456-6.
  31. Dong, Hai; Hussain, Farookh Khadeer (2013). "SOF: โปรแกรมรวบรวมข้อมูลแบบเน้นเฉพาะจุดโดยใช้การเรียนรู้ออนโทโลยีแบบกึ่งกำกับดูแล" . Concurrency and Computation: Practice and Experience . 25 (12): 1755– 1770. doi : 10.1002/cpe.2980 . S2CID 205690364 . 
  32. Junghoo Cho; Hector Garcia-Molina (2000). "การซิงโครไนซ์ฐานข้อมูลเพื่อปรับปรุงความสดใหม่" (PDF) . รายงานการประชุมนานาชาติ ACM SIGMOD ประจำปี 2000 ว่าด้วยการจัดการข้อมูล . ดัลลัส, เท็กซัส, สหรัฐอเมริกา: ACM. หน้า117–128 . doi : 10.1145/342009.335391 . ISBN  1-58113-217-4สืบค้นข้อมูลเมื่อ วัน ที่23 มีนาคม 2552
  33. 1 2 E. G. Coffman Jr; Zhen Liu; Richard R. Weber (1998). "การจัดตารางเวลาหุ่นยนต์ที่เหมาะสมที่สุดสำหรับเครื่องมือค้นหาบนเว็บ" วารสารการจัดตารางเวลา1 (1): 15– 29. CiteSeerX 10.1.1.36.6087 . doi : 10.1002/(SICI)1099-1425(199806)1:1 < 15::AID-JOS3 > 3.0.CO ; 2-K . 
  34. 1 2 Cho, Junghoo; Garcia-Molina, Hector (2003). "นโยบายการรีเฟรชหน้าเว็บที่มีประสิทธิภาพสำหรับเว็บครอว์เลอร์" ACM Transactions on Database Systems . 28 (4): 390– 426. doi : 10.1145/958942.958945 . S2CID 147958 . 
  35. 1 2 Junghoo Cho; Hector Garcia-Molina (2003). "การประมาณความถี่ของการเปลี่ยนแปลง". ACM Transactions on Internet Technology . 3 (3): 256– 290. CiteSeerX 10.1.1.59.5877 . doi : 10.1145/857166.857170 . S2CID 9362566 .  
  36. Ipeirotis, P., Ntoulas, A., Cho, J., Gravano, L. (2005)การสร้างแบบจำลองและการจัดการการเปลี่ยนแปลงเนื้อหาในฐานข้อมูลข้อความเก็บถาวรเมื่อวันที่ 5 กันยายน 2005 ที่Wayback Machineในรายงานการประชุม IEEE International Conference on Data Engineering ครั้งที่ 21 หน้า 606-617 เมษายน 2005 โตเกียว
  37. Koster, M. (1995). หุ่นยนต์บนเว็บ: ภัยคุกคามหรือภัยคุกคาม? ConneXions, 9(4).
  38. Koster, M. (1996).มาตรฐานสำหรับการกีดกันหุ่นยนต์เก็บถาวรเมื่อวันที่ 7 พฤศจิกายน 2007 ที่Wayback Machine
  39. Koster, M. (1993).แนวทางสำหรับนักเขียนหุ่นยนต์เก็บถาวรเมื่อวันที่ 22 เมษายน 2548 ที่Wayback Machine
  40. Baeza-Yates, R. และ Castillo, C. (2002).การสร้างสมดุลระหว่างปริมาณ คุณภาพ และความสดใหม่ในการรวบรวมข้อมูลเว็บใน Soft Computing Systems – Design, Management and Applications, หน้า 565–572, ซานติอาโก, ชิลี. IOS Press Amsterdam.
  41. Heydon, Allan; Najork, Marc (26 มิถุนายน 1999). "Mercator: โปรแกรมรวบรวมข้อมูลเว็บที่ปรับขนาดได้และขยายได้" (PDF) . เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 19 กุมภาพันธ์ 2006 . สืบค้นเมื่อ22 มีนาคม 2009 .{{cite journal}}: การอ้างอิงวารสารต้องใช้|journal=( ความช่วยเหลือ )
  42. Dill, S.; Kumar, R.; Mccurley, KS; Rajagopalan, S.; Sivakumar, D.; Tomkins, A. (2002). "ความคล้ายคลึงกันในตัวเองบนเว็บ" (PDF) . ACM Transactions on Internet Technology . 2 (3): 205– 223. doi : 10.1145/572326.572328 . S2CID 6416041 . 
  43. M. Thelwall; D. Stuart (2006). "จริยธรรมการรวบรวมข้อมูลเว็บ revisited: ต้นทุน ความเป็นส่วนตัว และการปฏิเสธการให้บริการ"วารสารของสมาคมอเมริกันเพื่อวิทยาศาสตร์และเทคโนโลยีสารสนเทศ 57 ( 13): 1771– 1779. doi : 10.1002/asi.20388 . เก็บถาวรจากต้นฉบับเมื่อวันที่ 7 มีนาคม 2008 . สืบค้นเมื่อ28 มกราคม 2008 .
  44. Brin, Sergey; Page, Lawrence (1998). "กายวิภาคของเครื่องมือค้นหาเว็บไฮเปอร์เท็กซ์ขนาดใหญ่"เครือข่ายคอมพิวเตอร์และระบบ ISDN 30 ( 1– 7 ): 107– 117. doi : 10.1016/s0169-7552(98)00110-x . S2CID 7587743 . 
  45. Shkapenyuk, V. และ Suel, T. (2002).การออกแบบและการใช้งานเว็บครอว์เลอร์แบบกระจายประสิทธิภาพสูงเก็บถาวรเมื่อวันที่ 1 ตุลาคม 2548 ที่Wayback Machineในรายงานการประชุมนานาชาติว่าด้วยวิศวกรรมข้อมูลครั้งที่ 18 (ICDE) หน้า 357-368 ซานโฮเซ แคลิฟอร์เนีย สำนักพิมพ์ IEEE CS Press
  46. Shestakov, Denis (2008).อินเทอร์เฟซการค้นหาบนเว็บ: การสอบถามและลักษณะเฉพาะเก็บถาวรเมื่อวันที่ 6 กรกฎาคม 2014 ที่Wayback Machineวิทยานิพนธ์ระดับปริญญาเอก TUCS 104 มหาวิทยาลัย Turku
  47. Michael L Nelson; Herbert Van de Sompel; Xiaoming Liu; Terry L Harrison; Nathan McFarland (24 มีนาคม 2548). "mod_oai: โมดูล Apache สำหรับการเก็บเกี่ยวข้อมูลเมตา": cs/0503069. arXiv : cs/0503069 . Bibcode : 2005cs........3069N .{{cite journal}}: การอ้างอิงวารสารต้องใช้|journal=( ความช่วยเหลือ )
  48. Shestakov, Denis; Bhowmick, Sourav S.; Lim, Ee-Peng (2005). "DEQUE: การสอบถามเว็บลึก" (PDF) . วิศวกรรมข้อมูลและความรู้ . 52 (3): 273– 311. doi : 10.1016/s0169-023x(04)00107-7 .
  49. "การรวบรวมข้อมูลด้วย AJAX: คู่มือสำหรับเว็บมาสเตอร์และนักพัฒนา" . เก็บถาวรจากต้นฉบับเมื่อวันที่ 6 มีนาคม 2013 . เรียกดูเมื่อวันที่ 17 มีนาคม 2013 .
  50. ITA Labs "การเข้าซื้อกิจการ ITA Labs" เก็บถาวรเมื่อวันที่ 18 มีนาคม 2014 ที่Wayback Machineเมื่อวันที่ 20 เมษายน 2011 เวลา 1:28 น.
  51. "เกี่ยวกับ Applebot" . Apple Inc . สืบค้นเมื่อ18 ตุลาคม 2021 .
  52. Norton, Quinn (25 มกราคม 2007). "เจ้าหน้าที่สรรพากรส่งแมงมุมเข้ามา" . ธุรกิจ. Wired . เก็บถาวรจากต้นฉบับเมื่อ 22 ธันวาคม 2016 . สืบค้นเมื่อ13 ตุลาคม 2017 .
  53. " โครงการ Xenon web crawling: บทสรุปการประเมินผลกระทบด้านความเป็นส่วนตัว (PIA)"ออตตาวา: รัฐบาลแคนาดา 11 เมษายน 2560 เก็บถาวรจากต้นฉบับเมื่อวันที่ 25 กันยายน 2560 สืบค้นเมื่อ13 ตุลาคม 2560

อ่านเพิ่มเติม

  • โช, จองฮู, "โครงการรวบรวมข้อมูลเว็บ" เก็บถาวรเมื่อวันที่ 7 กรกฎาคม 2013 ที่Wayback Machine , ภาควิชาวิทยาการคอมพิวเตอร์ มหาวิทยาลัย UCLA
  • ประวัติความเป็นมาของเครื่องมือค้นหาจาก สำนักพิมพ์ ไวเลย์
  • WIVETเป็นโครงการวัดประสิทธิภาพของOWASPซึ่งมีเป้าหมายเพื่อวัดว่าเว็บครอว์เลอร์สามารถระบุไฮเปอร์ลิงก์ทั้งหมดในเว็บไซต์เป้าหมายได้หรือไม่
  • เชสตาคอฟ, เดนิส, "ความท้าทายในปัจจุบันในการรวบรวมข้อมูลเว็บ"และ"การรวบรวมข้อมูลเว็บอัจฉริยะ"สไลด์สำหรับการสอนในงาน ICWE'13 และ WI-IAT'13

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เว็บครอว์เลอร์

เว็บครอว์เลอร์บางครั้งเรียกว่าสไปเดอร์หรือสไปเดอร์บอทและมักย่อเป็นครอว์เลอร์คือบอทอินเทอร์เน็ตที่เรียกดูเวิลด์ไวด์เว็บ อย่างเป็นระบบ...

การตั้งชื่อ

เว็บครอว์เลอร์ยังเป็นที่รู้จักในชื่อ ส ไปเดอร์ [ 5 ] แอ น ท์ ตัว จัดทำดัชนีอัตโนมัติ [ 6 ] หรือ (ในบริบทของ ซอฟต์แวร์ FOAF ) เว็บสคัต เตอร์ [ 7 ]

ภาพรวม

เว็บครอว์เลอร์เริ่มต้นด้วยรายการ URL ที่จะเยี่ยมชม URL แรกเหล่านั้นเรียกว่า ซีด (seeds ) เมื่อครอว์เลอร์เยี่ยมชม URL เหล่านี้ โดยการสื่อสารกับ เว็บเซิร์ฟเวอร์ ที่ตอบสนองต่อ URL เหล่านั้น มันจะระบุ ไฮเปอร์ลิงก์ ทั้งหมด ในหน้าเว็บที่ดึงมาได้ และเพิ่มลงในรายการ...

นโยบายการรวบรวมข้อมูล

พฤติกรรมของเว็บครอว์เลอร์เป็นผลมาจากการรวมกันของนโยบายต่างๆ: [ 10 ]