Chrome แบบไม่มีส่วนหัวคืออะไร และทำไมใครๆ ถึงอยากใช้เบราว์เซอร์แบบไม่มีส่วนหัว?
สรุป
- Headless Chrome ทำงานโดยไม่มี GUI โหลดหน้าเว็บได้เร็วขึ้น และใช้ทรัพยากรน้อยลงมาก
- ทำให้การดึงข้อมูล ตรวจสอบ กรอกอัตโนมัติ แจ้งเตือน หรือทำงานเป็นชุดเป็นไปโดยอัตโนมัติด้วยสคริปต์ (Playwright/Selenium)
- นักพัฒนาซอฟต์แวร์ใช้ Chrome แบบไม่มีส่วนหัวสำหรับการทดสอบประสิทธิภาพอย่างแม่นยำและวัดค่าหน้าแบบเป็นชุด
เบราว์เซอร์ Google Chrome ทำได้มากกว่านอกจากการแสดงผลเว็บไซต์และรันส่วนขยายของเบราว์เซอร์ ยังมีเวอร์ชันของ Chrome ที่สามารถอัตโนมัติงานที่น่าเบื่อและช่วยคุณประหยัดเวลาหลายชั่วโมงของการทำงานหนักได้
อะไรทำให้เบราว์เซอร์เป็นแบบไม่มีส่วนติดต่อกราฟิก
เมื่อคุณเปิดเว็บเบราว์เซอร์ สิ่งแรกที่คุณจะเห็นคือหน้าต่างที่โหลดเนื้อหาเว็บ เราเรียกสิ่งนี้ว่าระบบส่วนต่อประสานผู้ใช้กราฟิก หรือ GUI แต่ก็มีสิ่งที่มีประโยชน์บางอย่างที่คุณสามารถทำในเว็บเบราว์เซอร์โดยไม่ต้องใช้ GUI เว็บเบราว์เซอร์ที่ทำงานโดยไม่มีส่วนแสดงผลภาพเรียกว่าเว็บเบราว์เซอร์แบบ 'headless'
คุณจะควบคุมเบราว์เซอร์ที่ไม่มีอินเทอร์เฟซกราฟิกได้อย่างไร? คุณเพียงแค่ต้องใช้คีย์บอร์ดและคอนโซลคำสั่ง คุณสามารถรันคำสั่งต่าง ๆ ของเบราว์เซอร์และทำสิ่งที่เป็นประโยชน์ได้ ถ้าคุณติดตั้ง Google Chrome เวอร์ชันปกติแล้ว คุณก็ไม่จำเป็นต้องดาวน์โหลดอะไรเพิ่ม คุณสามารถเปิดเทอร์มินัลและรัน Chrome ในโหมด headless ได้เลย
สิ่งที่ทำให้เบราว์เซอร์แบบไม่มีส่วนหัวพิเศษคือการใช้ทรัพยากร เพราะโครมในโหมดไม่มีส่วนหัวไม่จำเป็นต้องวาดอินเทอร์เฟซผู้ใช้หรือเนื้อหาเว็บ ทำให้มันเร็วมาก ๆ
คนส่วนใหญ่นำมันไปใช้สำหรับการดึงข้อมูลจากเว็บ
ลองนึกภาพว่าคุณถูกขอให้เก็บสำรองข้อมูลของ Doom Wiki หรือเพียงแค่รูปภาพจาก Doom Wiki คุณอาจต้องเปิดแต่ละหน้าด้วยตัวเองแล้วบันทึกรูปภาพหรือหน้าทั้งหมดเป็น HTML Doom Wiki มีประมาณ 20,000 หน้า คุณจะต้องทำขั้นตอนเหล่านี้ซ้ำหลายพันครั้ง และจะใช้เวลาเกินหนึ่งเดือนในการเก็บข้อมูลทั้งเว็บไซต์
ตอนนี้ ถ้าคุณใช้เบราว์เซอร์แบบไม่มีหน้าต่างเช่น headless Chrome กระบวนการทั้งหมดสามารถทำอัตโนมัติและเสร็จสิ้นภายในเวลาไม่ถึง 10 นาที กระบวนการนี้เรียกว่าเว็บสแครปปิงเพราะคุณกำลัง "สแครป" ข้อมูลจากเว็บไซต์และบันทึกไว้เพื่อใช้งานแบบออฟไลน์
โดยค่าเริ่มต้น คุณสามารถใช้คำสั่งแบบนี้เพื่อรัน Google Chrome ในโหมด headless และบันทึกหน้าแรกของ Doom Wiki เป็นไฟล์ข้อความได้
ไม่มีฟีเจอร์ใดที่ฝังมาใน Google Chrome ที่สามารถ "คลาน" และบันทึกทุกหน้าบนเว็บไซต์ได้โดยอัตโนมัติ หากคุณต้องการคลานทุกหน้าบนเว็บไซต์จริง ๆ คุณมีสองตัวเลือก
- คุณสามารถใช้ Linux หรือ Windows Subsystem for Linux (WSL) เพื่อเขียนและรันสคริปต์ Bash ที่เข้าเยี่ยมชมแต่ละหน้าเว็บไซต์โดยอัตโนมัติและบันทึกมันได้
- คุณสามารถใช้ไลบรารีอัตโนมัติสำหรับเว็บไซต์โดยเฉพาะ เช่น Playwright หรือ Selenium ตัวอย่างเช่น คุณสามารถเขียนสคริปต์ Python โดยใช้ Playwright (ซึ่งใช้ Chrome แบบ headless) เพื่อทำการเว็บสครูปอัตโนมัติ
เว็บไซต์สมัยใหม่ไม่ได้โหลดเนื้อหาทั้งหมดในครั้งเดียว ลองนึกถึง Instagram หรือ YouTube และวิธีที่พวกเขาโหลดเนื้อหาแบบไดนามิกตามความชอบของคุณ โดยปกติคุณจะต้องโต้ตอบกับเว็บไซต์ เช่น การคลิกปุ่ม "โหลดเพิ่มเติม" หรือทำ CAPTCHA สคริปต์ Bash ง่ายๆ สามารถดึงข้อมูลจากหน้าที่เป็นข้อความนิ่งได้ดี แต่การใช้ไลบรารีเฉพาะนั้นดีกว่าสำหรับการดึงข้อมูลจากเว็บไซต์แบบไดนามิก
นี่คือสคริปต์ Python ที่ใช้ Playwright ซึ่งจะดึงบทความ 100 อันดับแรกจาก Doom Wiki โดยอัตโนมัติ
คุณสามารถทำงานอัตโนมัติด้วย Chrome แบบไม่แสดงหน้าต่าง
การดึงข้อมูลจากเว็บโดยอัตโนมัติเป็นหนึ่งในหลายสิ่งที่คุณสามารถทำให้เป็นอัตโนมัติด้วย Chrome แบบไม่มีหัว คุณสามารถทำให้การติดตามราคาหุ้นหรือการหางานหรือข่าวจากแหล่งหลายแห่งเป็นอัตโนมัติได้
Headless Chrome สามารถรันสคริปต์เพื่อดึงรายการงานที่เกี่ยวข้องจำนวนหลายพันรายการจากแพลตฟอร์มอย่าง Indeed หรือ LinkedIn ได้ คุณสามารถติดตามการเปรียบเทียบราคาระหว่างคู่แข่งต่าง ๆ ในแต่ละชั่วโมงได้ คุณสามารถรวบรวมบทความข่าวลงในฐานข้อมูลท้องถิ่นจากแหล่งข่าวที่หลากหลาย แทนที่จะขูดเว็บไซต์ทั้งหมด คุณยังสามารถขูดเฉพาะแฮชแท็ก Twitter หรือ subreddit บางอย่างได้
คุณยังสามารถเรียกใช้งานอัตโนมัติตามข้อมูลที่สกัดออกมาได้ด้วย ตัวอย่างเช่น คุณสามารถรันสคริปต์ที่กรอกแบบสอบถามหรือใบสมัครงานอัตโนมัติ หรือรันสคริปต์ที่ตรวจสอบเว็บไซต์สำหรับการอัปเดต เช่น โปรโมชั่นหรือราคาตั๋ว และส่งการแจ้งเตือนให้คุณ หรือแม้แต่เพิ่มสินค้าที่ต้องการลงในตะกร้าอัตโนมัติ
จับภาพหน้าจอโดยไม่ต้องเปิดเบราว์เซอร์
สามารถบันทึกหลายหน้าเว็บพร้อมกันได้โดยไม่ต้องเปิดเว็บเบราว์เซอร์เลย
chrome --headless --print-to-pdf=output.pdf https://doom.fandom.com
ด้วยคำสั่งง่าย ๆ Chrome แบบไม่มีหน้าต่างสามารถสร้างไฟล์ PDF ของหน้าเว็บได้ มันทำงานเหมือนกับปุ่ม "บันทึกเป็น PDF" ในเบราว์เซอร์ Chrome ปกติของคุณ แต่ดีกว่า เพราะมันโหลดหน้าเว็บได้เร็วกว่าเป็นอย่างมากและบันทึกเป็น PDF หรือ PNG โดยอัตโนมัติ นอกจากนี้ยังสามารถประมวลผลหน้าเว็บจำนวนมากได้พร้อมกันหากคุณใส่ URL ของเป้าหมายทั้งหมดในไฟล์ข้อความแล้วรันคำสั่งเดียวกันบนไฟล์ข้อความนั้น
คุณอาจเคยใช้ Internet Archive หรือ Wayback Machine เพื่อเยี่ยมชมคลังเก็บเวอร์ชันเก่าของเว็บไซต์ พวกเขาใช้สคริปต์ที่คล้ายกันในการเก็บเว็บไซต์เหล่านั้นโดยใช้เบราว์เซอร์แบบไม่มีส่วนติดต่อผู้ใช้
นักพัฒนาจะใช้มันเพื่อตรวจสอบประสิทธิภาพของเว็บไซต์และทดสอบฟีเจอร์
ถ้าเว็บไซต์ใช้เวลานานเกินไปในการโหลด ผู้คนก็อาจจะคลิกออกไปก่อนที่เว็บไซต์จะโหลดเสร็จ Google ก็ยังลดอันดับของเว็บไซต์นั้นถ้ามันโหลดช้า ดังนั้นนักพัฒนาเว็บจึงต้องใช้เวลาและความพยายามอย่างมากในการทำให้เว็บไซต์ของตัวเองทำงานได้ดี พวกเขาสามารถโหลดเว็บไซต์ของตัวเองในเบราว์เซอร์ปกติและรับรู้ความเร็วในการโหลดเว็บไซต์ได้ แต่ระบบปกติไม่สามารถใช้ได้เมื่อคุณต้องทดสอบเว็บเพจหลายพันหน้า นอกจากนี้ยังไม่แม่นยำอีกด้วย
การใช้คำสั่งของ Chrome ในโหมดไม่มีหน้าต่าง ทำให้ผู้พัฒนาสามารถได้ตัวชี้วัดประสิทธิภาพที่แม่นยำ เช่น เวลาโหลดหน้าเว็บเฉลี่ยในหน่วยวินาที นอกจากนี้ยังสามารถโหลดหน้าเว็บโดยมีการจำกัดความเร็วเครือข่ายตามที่กำหนด และยังช่วยให้แน่ใจว่า ส่วนขยายของเบราว์เซอร์ไม่ได้รบกวนการทดสอบ
การทำงานอัตโนมัติบนเว็บเป็นเหมือนพลังวิเศษเพราะสามารถช่วยคุณประหยัดเวลาหลายชั่วโมงจากงานที่ต้องทำด้วยความละเอียดรอบคอบ เบราว์เซอร์แบบไม่มีส่วนต่อประสานผู้ใช้ (headless browser) เป็นสิ่งที่ทำให้การทำงานอัตโนมัติบนเว็บเป็นไปได้ เบราว์เซอร์ของคุณสามารถดึงข้อมูลและเก็บเว็บไซต์ทั้งหมดขณะคุณนอนหลับ หรือส่งแจ้งเตือนทันทีเมื่อร้านค้าจัดโปรโมชั่นลดราคาสินค้าที่คุณสนใจได้









