วิธีดึงอีเมลและลิงก์ทั้งหมดออกจากข้อความที่ยุ่งเหยิง
หากต้องการดึงอีเมลทั้งหมดออกจากหน้าเว็บหรือไฟล์ส่งออกที่ยุ่งเหยิง ให้ใช้รูปแบบที่ตรงกับโครงสร้างของอีเมล แล้วจัดการเครื่องหมายวรรคตอนที่อยู่ติดกัน รูปแบบแบบง่ายจะดึงจุดหรือจุลภาคท้ายประโยคมาด้วย และพลาดอีเมลที่เขียนแบบปกปิด ควรตรวจรายการด้วยตาก่อนนำไปใช้ทุกครั้ง
ดึงอีเมลและลิงก์ดึงอีเมลออกจากหน้าเว็บใช้ฟรีทำไมรูปแบบแบบง่ายจึงผิดพลาด
รูปแบบที่ใช้กันทั่วไปคือ อักขระที่ไม่ใช่ช่องว่างหนึ่งกลุ่ม ตามด้วยเครื่องหมาย @ และอักขระที่ไม่ใช่ช่องว่างอีกกลุ่ม เขียนง่ายดี แต่มีข้อผิดพลาดสองแบบ
แบบแรกคือดึงเกินมา เช่นในประโยค "Contact [email protected], or [email protected]." รูปแบบ "\S+@\S+" จะได้ "[email protected]," ที่ติดจุลภาค และ "[email protected]." ที่ติดจุด ซึ่งไม่ใช่อีเมลที่ถูกต้อง และระบบส่งเมลแบบกลุ่มหรือตัวกรองสแปมจะปฏิเสธ
แบบที่สองคือดึงไม่ครบ อีเมลที่เขียนเป็น "ana [at] example [dot] com" หรือ "ana at example dot com" จะไม่ถูกจับเลย ผู้เขียนมักใช้รูปแบบนี้เพื่อหลีกเลี่ยงการถูกเก็บข้อมูลอัตโนมัติ บางเว็บก็ใช้ด้วยเหตุผลเดียวกัน จึงควรแทนที่คำเหล่านี้ก่อนแล้วค่อยดึง
รูปแบบที่ดีกว่าคือยอมให้เฉพาะอักขระที่อีเมลใช้ได้ทางซ้าย และโดเมนที่เป็นตัวอักษรทางขวา รูปแบบ "[\w.+-]+@[\w-]+\.[\w.-]+" เป็นจุดเริ่มต้นที่ใช้ได้ แต่ยังอาจเก็บจุดท้ายโดเมนไว้เมื่ออีเมลอยู่ท้ายประโยค เพราะส่วนท้ายของโดเมนรับจุดได้ ให้ตัดจุดท้ายออกหนึ่งตัวจากผลลัพธ์แต่ละรายการ เครื่องมือ ดึงอีเมลและลิงก์ ตัดเครื่องหมายวรรคตอนท้ายออกให้อยู่แล้ว ดังนั้นขั้นตอนนี้สำคัญเป็นพิเศษเมื่อคุณเขียนรูปแบบเองเท่านั้น
นี่คือผลลัพธ์ของรูปแบบดังกล่าวกับตัวอย่างสองประโยคข้างต้น
- "Write to [email protected]." ได้ "[email protected]." ที่ติดจุดท้าย ซึ่งต้องลบออก
- "Contact [email protected], or [email protected]." ได้ "[email protected]" และ "[email protected]." จึงต้องทำความสะอาดแบบเดียวกัน
ลิงก์ก็มีปัญหาเดียวกัน
URL ก็เจอปัญหาแบบเดียวกัน ลิงก์ที่อยู่ท้ายประโยคมักมีจุด จุลภาค หรือวงเล็บปิดติดมาด้วย ลิงก์ที่อยู่ในวงเล็บ เช่น (see https://example.com/page) อาจติดวงเล็บปิดมาถ้ารูปแบบดึงแบบโลภ ให้ลบเครื่องหมายวรรคตอนท้ายออก แล้วตรวจว่าแต่ละลิงก์เปิดในเบราว์เซอร์ได้
ลิงก์อาจเป็นแบบสัมพัทธ์ เช่น /contact ซึ่งการดึงอีเมลจะไม่สนใจ ให้ตัดสินใจว่าต้องการเฉพาะที่อยู่แบบเต็มหรือไม่ และระบุไว้เมื่อรันการดึง
ขั้นตอนที่ใช้ได้กับไฟล์ส่งออกส่วนใหญ่
- แทนที่รูปแบบที่ปกปิดก่อน ด้วย ค้นหาและแทนที่ข้อความ เปลี่ยน "[at]" เป็น @ และ "[dot]" เป็นจุด แต่เฉพาะตรงที่เห็นชัดว่าเป็นที่อยู่อีเมล
- วางข้อความ หรือซอร์ส HTML ของหน้าเว็บลงในช่อง ข้อความหรือ HTML ของเครื่องมือดึง ระบบจะคัดอีเมลและลิงก์ออกมา และตัดเครื่องหมายวรรคตอนท้ายให้
- เปิด ลบรายการซ้ำ ไว้ ระบบจะไม่สนใจตัวพิมพ์ใหญ่ในอีเมล ดังนั้น [email protected] กับ [email protected] จะนับเป็นหนึ่งรายการ สำหรับรายการที่มีอยู่แล้ว ลบบรรทัดที่ซ้ำกัน ทำงานได้เหมือนกัน
- ติ๊ก เรียง A→Z หากต้องการให้รายการเรียงตามลำดับ
- อ่านรายการสุดท้ายทั้งหมด มองหาค่าที่ไม่ใช่อีเมล เช่น ชื่อไฟล์รูปภาพที่บังเอิญมีเครื่องหมาย @ อยู่
ตัวอย่างการทำจริง: หน้าเว็บหนึ่งมี "Sales: [email protected]", "[email protected]." และ "Support: [email protected]" การดึงจะได้ผลลัพธ์สามรายการ เมื่อตัดจุดท้ายและลบรายการซ้ำโดยไม่สนใจตัวพิมพ์ จะเหลือสองอีเมลคือ [email protected] และ [email protected] หากต้องการให้เรียงลำดับ ให้ติ๊ก เรียง A→Z ในเครื่องมือดึง หรือใช้ เรียงลำดับบรรทัด
รักษารายการให้สะอาดและถูกกฎหมาย
อีเมลถือเป็นข้อมูลส่วนบุคคลในหลายที่ และหลายประเทศมีกฎหมายต่อต้านสแปม การเก็บอีเมลจากหน้าเว็บสาธารณะไม่ได้หมายความว่าคุณส่งอีเมลหาเจ้าของได้โดยอัตโนมัติ กฎอย่าง GDPR ของสหภาพยุโรปและ CAN-SPAM Act ของสหรัฐฯ เป็นตัวอย่างที่รู้จักกันดี และมีข้อกำหนดที่แตกต่างกัน ข้อมูลนี้เป็นความรู้ทั่วไป ไม่ใช่คำแนะนำทางกฎหมาย ก่อนส่งอะไรออกไป ให้ตรวจสอบกฎที่ใช้กับคุณและกับผู้ที่อยู่ในรายการ และเปิดตัวเลือกยกเลิกการรับข่าวสารไว้สำหรับข้อความที่ส่งจำนวนมาก
กรณีพิเศษ
- ข้อความที่ไม่ใช่อีเมล สตริงอย่าง [email protected] อาจถูกจับมาได้ ให้ลบรายการใดก็ตามที่ลงท้ายด้วยนามสกุลไฟล์
- อีเมลในรูปภาพ อ่านภาพหน้าจอด้วย เครื่องมือแปลงรูปเป็นข้อความ ก่อน แล้วค่อยดึงจากผลลัพธ์ คู่มือภาพหน้าจอและรูปถ่าย อธิบายวิธีอ่านให้สะอาด
- อักขระที่มองไม่เห็น ช่องว่างความกว้างเป็นศูนย์ในอีเมลจะทำให้การจับคู่พัง และอีเมลนั้นจะหลุดไป หากอีเมลที่รู้อยู่แล้วหายไป ให้ ลบอักขระที่มองไม่เห็น ก่อนดึง คู่มืออักขระที่มองไม่เห็น อธิบายว่าอักขระเหล่านี้มาจากไหน
- อีเมลที่เข้ารหัส บางหน้าซ่อนอีเมลไว้ในรูปแบบ HTML entity เช่น @ แทน @ ให้ถอดรหัสข้อความของหน้าก่อน ไม่เช่นนั้นรูปแบบจะไม่เห็นเครื่องหมาย @
- ไฟล์ส่งออกขนาดใหญ่ สำหรับไฟล์ขนาดใหญ่ ให้ดึงลงไฟล์แล้วเทียบจำนวนที่ได้กับจำนวนบรรทัดที่คาดไว้
คำตอบสั้น ๆ
ทำไมผลการดึงอีเมลของฉันมีจุดติดท้ายมาด้วย
ระบบอนุญาตให้มีจุดในโดเมนได้ ดังนั้นรูปแบบที่รับจุดอาจจับจุดที่ปิดประโยคมาด้วย ให้ตัดจุดท้ายออกหนึ่งตัวจากแต่ละรายการ
เครื่องมือหาอีเมลที่เขียนว่า "name at example dot com" ได้ไหม
ไม่สามารถทำได้อย่างน่าเชื่อถือหากไม่มีขั้นตอนแทนที่ข้อความ ให้เปลี่ยนคำเป็นสัญลักษณ์ก่อน และทำเฉพาะตรงที่ข้อความชัดเจนว่าเป็นอีเมล เพื่อไม่ให้ประโยคทั่วไปถูกเปลี่ยนไปด้วย
การส่งอีเมลถึงทุกที่อยู่ที่ดึงจากเว็บเพจเป็นสิ่งที่ถูกกฎหมายหรือไม่
ขึ้นอยู่กับที่ตั้งของคุณและของผู้รับ และขึ้นอยู่กับเนื้อหาของข้อความ มีกฎหมายต่อต้านสแปมและกฎหมายคุ้มครองความเป็นส่วนตัวที่ใช้บังคับ จึงควรตรวจสอบก่อน ข้อมูลนี้เป็นความรู้ทั่วไป ไม่ใช่คำแนะนำทางกฎหมาย
แปลจาก ฉบับภาษาอังกฤษ ด้วยความช่วยเหลือของ AI
ความคิดเห็น
ยังไม่มีความคิดเห็น มาเป็นคนแรกกันเลย


