คนทำการเก็บข้อมูลส่วนใหญ่เคยเจอฉากนี้: script เขียนเสร็จ ซื้อ proxy แล้ว แต่รันไปสะดุดทุกจุด — IP เดียวกัน request ไม่กี่สิบครั้งโดนบล็อก เปลี่ยน proxy ก็ยังโดน; หน้าเปิดได้แต่ข้อมูลว่าง เพราะอีกฝ่ายตรวจจับว่า "นี่ไม่ใช่คนจริงกำลังท่องเว็บ"; โมโหสุดคือ งานเก็บข้อมูลรันสามวัน วันที่สามถึงรู้ว่าสองวันแรกเก็บข้อมูลเสียหมด
การ scrape เองไม่ยาก; ยากคือรอบระบบต่อต้านบอท บทความนี้ไม่สอนเขียนโค้ด — พูดชั้นที่คนเก็บข้อมูลหลายคนมองข้าม: เบราว์เซอร์ลายนิ้วมือร่วมกับ scraper ยังไง แก้ปัญหาสภาพแวดล้อมในการบล็อกต้านบอท — บวกกับขอบเขตถูกกฎหมายว่าข้อมูลไหนเก็บได้ ข้อมูลไหนห้ามแตะ
ดูก่อนว่าระบบต้านบอททำงานยังไง ไม่งั้นก็วนอยู่อย่างเดียว "โดนบล็อกแล้วเปลี่ยน เปลี่ยนแล้วโดน" ตามที่ทีมผู้เขียนรวบรวมโซลูชันต้านบอทหลัก ๆ (Cloudflare, Akamai และกันโกงที่แพลตฟอร์มใหญ่พัฒนาเอง) ระบบต้านบอทของเว็บไซต์ปกติมีสี่ชั้น จากตื้นไปลึก:
เข้าใจสี่ชั้นนี้แล้วจะเห็นว่าทำไมวิธีดั้งเดิมถึงพ่าย: ใช้แค่ proxy แก้ชั้น IP, ชั้นลายนิ้วมือและพฤติกรรมโล่งโจ้ง proxy pool ใหญ่แค่ไหน ลายนิ้วมือเหมือนกัน พฤติกรรมกลไก ก็ยังถูกจำได้

เบราว์เซอร์ลายนิ้วมือแก้ "ปัญหาสภาพแวดล้อม" ในต้านบอท — ทำให้ทุก request เก็บข้อมูลดูเหมือนมาจากอุปกรณ์จริง อิสระ สามเคล็ดลับตรงกับสามชั้น:
ความเข้าใจหัวใจ: เบราว์เซอร์ลายนิ้วมือไม่ได้มาแทนเฟรมเวิร์ก scraping (Scrapy, Playwright...) แต่ทำงานร่วมกัน — scraper รับผิดชอบ "ลอจิกดึงข้อมูล" เบราว์เซอร์ลายนิ้วมือรับผิดชอบ "สภาพแวดล้อมเหมือนคนจริง" วิธีใช้พบบ่อยสุดคือถือเบราว์เซอร์ลายนิ้วมือเป็นสภาพแวดล้อมเบราว์เซอร์นิ่ง เอาเฟรมเวิร์ก scraping รันข้างใน ทุก request ส่งจากสภาพแวดล้อมอิสระ — ต้านบอทเห็น "คอมพิวเตอร์จริงเครื่องต่าง ๆ" กำลังเข้าปกติ
ทฤษฎีจบ ดูสถานการณ์จริง สี่สถานการณ์เก็บข้อมูลด้านล่างพบบ่อยที่สุดกับทีมอีคอมเมิร์ซข้ามพรมแดนและการตลาด แต่ละสถานการณ์ความต้องการคอนฟิกสภาพแวดล้อมต่างกัน:
สถานการณ์ไหนก็ตาม สองหลักการตั้งค่าครอบจักรวาล: ตั้งชื่อสภาพแวดล้อม = งานเก็บข้อมูล (เช่น price-monitor-amazon-us, review-scrape-shoppe-vn) หนึ่งงานหนึ่งสภาพแวดล้อม ห้ามปน; ความถี่เอาแบบต่ำไว้ก่อน — ข้อมูลขาดวันเดียวเติมได้ แต่ IP กับลายนิ้วมือโดนมาร์ก ทั้งงานต้องเริ่มใหม่ (วิธีตั้งค่า proxy รายละเอียดในบทตั้งค่าพร็อกซีเบราว์เซอร์ลายนิ้วมือ)

แก้ปัญหาทางเทคนิคจบ ต้องพูดเรื่องถูกกฎหมายให้ชัด — นี่คือจุดที่คนเก็บข้อมูลหลายคนพลาด ไม่ใช่แค่โดนแบน แต่เสี่ยงกฎหมาย สามกฎล่างแนะนำจำให้แม่น:
การเก็บที่ถูกกฎหมายไม่ใช่ "ข้อจำกัด" กลับเป็นเงื่อนไขก่อนของการเก็บที่ยั่งยืน: ข้อมูลสาธารณะ เคารพกฎ ความถี่ออมแรง งานเก็บข้อมูลถึงรันนิ่งยาว ๆ ได้
งานเก็บข้อมูลเยอะขึ้น ปัญหาใหญ่สุดไม่ใช่เขียน script แต่คือจัดการสภาพแวดล้อม: สิบกว่างานเก็บข้อมูล สภาพแวดล้อมเป็นสิบ แต่ละตัวผูก proxy ภูมิภาคต่าง จำด้วยหัวไม่ไหว ยกตัวอย่าง MasBrowser รอบงานเก็บข้อมูลจัดการแบบนี้:
price-amazon-us, rank-google-de) รายการจัดการสภาพแวดล้อมเห็นปุ๊บรู้ว่าตัวไหนกำลังเก็บอะไร — งานเก็บข้อมูลจัดการคล้ายบัญชี สภาพแวดล้อมไม่ใช่แค่เบราว์เซอร์ แต่เป็นหน่วยรันของงานเก็บข้อมูลแต่ละงาน

แก่นการเก็บคือเปลี่ยนข้อมูลสาธารณะเป็นฐานตัดสินใจของตัวเอง — ข้อมูลเก็บไว้ สภาพแวดล้อมเก็บไฟล์ งานตามรอยได้ — ทุกครั้งเก็บตกตะกอนเป็นฐานวิเคราะห์รอบถัดไป MasBrowser ให้ความสามารถจัดการสภาพแวดล้อมอิสระ ถือสภาพแวดล้อมเก็บเป็น "หน่วยงาน" จัดการ; เวอร์ชันฟรีมี 2 โควตาสภาพแวดล้อม ดาวน์โหลด MasBrowser ใช้จัดการสภาพแวดล้อม ตั้งงานเก็บข้อมูลแรก — รันจับตาหนึ่งไซต์ให้ผ่านก่อน แล้วค่อยก็อปปี้ไปงานอื่น
ความสัมพันธ์แบบเสริม: เฟรมเวิร์ก scraping รับผิดชอบลอจิกโค้ดดึง แยกวิเคราะห์ เก็บ; เบราว์เซอร์ลายนิ้วมือรับผิดชอบ "สภาพแวดล้อมเบราว์เซอร์เหมือนคนจริง" ปกติใช้เครื่องมืออย่าง Playwright คุมสภาพแวดล้อมเบราว์เซอร์ลายนิ้วมือ หรือในโฟลว์เก็บสลับสภาพแวดล้อมสำหรับแต่ละ request — แต่ละตัวดูแลส่วนของตัวเอง
ไม่มีตัวเลขตายตัว หลักคือ "เอาแบบต่ำไว้ก่อน": request จาก IP เดียวกันเว้นอย่างน้อยสองสามวินาที ปริมาณ request ต่อวันต่องานคุมที่หลักร้อยถึงหลักพัน (ดูความงกของไซต์) สภาพแวดล้อมมี CAPTCHA เด้ง ลดความถี่ทันที ข้อมูลขาดเติมได้ IP โดนมาร์กต้องเริ่มใหม่
ไม่แนะนำ สภาพแวดล้อมหนึ่งต่อหนึ่งงานเก็บปลอดภัยกว่า: เว็บต่างกันกลยุทธ์ต้านบอทต่างกัน ใช้สภาพแวดล้อมปนกันทำให้งานหนึ่งโดนมาร์กลากงานอื่น; สภาพแวดล้อมอิสระ งานถึงไม่กระทบกัน
ลดความถี่ก่อน (โอกาสสูงเป็นปัญหาเรื่องความถี่) แล้วเปลี่ยน IP (อาจถูกมาร์ก) ยังไม่ได้ก็เปลี่ยนสภาพแวดล้อมลายนิ้วมือลองใหม่ ลำดับสำคัญ: เช็คความถี่ก่อน แล้ว IP สุดท้ายลายนิ้วมือ — การบล็อกส่วนใหญ่มาจากความถี่ ไม่ใช่ลายนิ้วมือ
ดูความงกกันโกงของไซต์เป้าหมาย: ไซต์งกน้อย IP ดาต้าเซ็นเตอร์พอใช้และถูก; ไซต์งกมาก (อีคอมเมิร์ซหลัก, โซเชียล) IP บ้านพักอัตรารอดสูงกว่ามาก งบจำกัดใช้แบบผสมได้ — งานจับตาความถี่ต่ำใช้ IP บ้านพัก งานชุดใหญ่ลองด้วย IP ดาต้าเซ็นเตอร์
Scraping ไม่มีกระสุนเงิน แต่แนวทางชัด: ชั้น IP พึ่ง proxy ชั้นลายนิ้วมือพึ่งสภาพแวดล้อม ชั้นพฤติกรรมพึ่งความถี่ — สามชั้นถูก ต้านบอทไม่มีเหตุผลต้องบล็อกคุณ; กลับกัน เอาแต่กอง proxy ไม่แก้ลายนิ้วมือและพฤติกรรม แบนเป็นแค่เรื่องเวลา
ถูกกฎหมายคือเส้นล่าง นิ่งคือเงื่อนไขก่อน: เก็บเฉพาะข้อมูลสาธารณะ เคารพกฎแพลตฟอร์ม ความถี่ออมแรง งานเก็บถึงรันยาวได้ เริ่มจากงานเก็บแรก: ให้มันสภาพแวดล้อมอิสระหนึ่งชุด proxy ตรงภูมิภาคหนึ่งตัว ความถี่ออมแรงหนึ่งชุด — รันผ่านหนึ่ง แล้วก็อปปี้ไปตัวถัดไป ข้อมูลเป็นของคุณ; เครื่องมือจัดการสภาพแวดล้อมช่วยให้มันกลายเป็นทรัพย์สิน