15 คะแนน โดย xguru 2020-09-11 | 2 ความคิดเห็น | แชร์ทาง WhatsApp

อ้างอิงจาก Selenium แต่สามารถนำไปปรับใช้กับที่อื่นได้เช่นกัน

  1. ลบแฟลก Navigator.Webdriver

  2. ลบสตริงบางตัวออกจาก ChromeDriver / GeckoDriver

  3. เปลี่ยนความละเอียด, User-Agent เป็นต้น

  4. ใช้ URL flow จริง หลีกเลี่ยงการเข้าลิงก์ที่มองไม่เห็น

  5. ใช้ Proxy เพื่อเปลี่ยน IP

  6. ใช้ค่าหน่วงเวลาแบบสุ่ม

  7. อย่าใช้เบราว์เซอร์แบบ headless (ตรวจสอบได้โดยเช็ก Notification Permission)

2 ความคิดเห็น

 
xguru 2020-09-11

ในกรณีข้อ 1 สำหรับ Puppeteer มีบางที่ที่แค่ตั้งค่าเป็น true/false ก็ยังถูกตรวจจับว่าเป็นบอท

ดังนั้นลบพร็อพเพอร์ตีออกไปเลยแบบด้านล่างจะดีกว่า

const newProto = navigator.proto;

delete newProto.webdriver;

navigator.proto = newProto;

 
louis 2020-09-12

นั่นเป็นประเด็นที่ดี :) ฉันได้แทนที่โค้ดแล้ว