คุณมีอิสระที่จะดาวน์โหลดเครื่องมือและใช้เพื่อวัตถุประสงค์ส่วนตัวของคุณ หากคุณแก้ไขโปรแกรมนี้และต้องการแบ่งปัน ให้ทำทางแยก คุณต้องรวมลิงก์ไปยังที่เก็บต้นฉบับไว้ด้านบนดังที่แสดงไว้ที่นี่: ที่เก็บต้นฉบับ: [ลิงก์]
โปรแกรมขั้นสูงช่วยให้คุณควบคุมพฤติกรรมได้มากขึ้นและแก้ไขการกำหนดค่าได้ สำหรับผู้ใช้ส่วนใหญ่ มาตรฐานก็เพียงพอแล้ว เวอร์ชันโปรแกรมขั้นสูงอยู่ภายใน Dir 'advanced_version' ในพื้นที่เก็บข้อมูลนี้
ฉันกำลังสร้างแอปพลิเคชันนี้เพื่อเรียนรู้ Python และใช้เป็นช่องทางสำรองในการดาวน์โหลดแบตช์การ์ด ฉันมีส่วนเสริมเบราว์เซอร์ของตัวเองที่ฉันเขียนใน JS ซึ่งใช้งานได้ดี แต่ฉันกำลังดำเนินการแก้ไขปัญหานี้ในกรณีที่ส่วนเสริมที่เสียหายของฉันหยุดทำงาน นอกจากนี้ ฉันจะไม่เผยแพร่ซอร์สโค้ดของส่วนเสริมนั้น เพราะมันสร้างมาเพื่อฉันโดยเฉพาะ ดังนั้นมันอาจใช้งานไม่ได้นิดหน่อย แต่ถึงขนาดที่ฉันไม่สนใจที่จะแก้ไขมัน และนั่นคือจุดเริ่มต้นของโครงการนี้ แผนคือการใช้ Selenium และทำหน้าที่ต่างๆ มากกว่าที่ Add-on ของเบราว์เซอร์ปัจจุบันสามารถทำได้ ส่วนเสริมทำงานโดยการคลิกปุ่มดาวน์โหลดตามลำดับ รอระยะเวลาที่ฮาร์ดโค้ดจนกว่าการดาวน์โหลดจะเสร็จสิ้น (เพื่อป้องกันการดาวน์โหลดหลายครั้ง เนื่องจากไซต์ไม่ชอบสิ่งนั้น) จากนั้นคลิกปุ่มถัดไปเพื่อย้ายไปยังหน้าถัดไปและทำซ้ำซ้ำ . ตอนนี้ฉันต้องการสร้างโซลูชันอื่นที่อนุญาตให้ผู้ใช้สร้างไฟล์กำหนดค่าเพื่อทำให้กระบวนการดาวน์โหลดเป็นแบบอัตโนมัติมากยิ่งขึ้น คอยดูว่าจะพาฉันไปที่ไหน
ฉันได้เห็นแล้วว่าการเขียน JS Extension เพื่อจุดประสงค์นั้นรวดเร็วมาก ซับซ้อนน้อยกว่า แต่แน่นอนว่าโซลูชันทั้งสองมีข้อดีและข้อเสีย (ฉันอาจจะแสดงรายการไว้ในภายหลัง)
ซอฟต์แวร์อยู่ระหว่างการพัฒนา ดังนั้นจึงแนะนำให้อ่านโค้ด coments ภายในไฟล์ .py เพื่อทำความเข้าใจการทำงานภายในให้ดียิ่งขึ้น
โปรแกรมนี้สร้างขึ้นสำหรับ db.bepis.moe - ดังนั้นหากคุณไม่แน่ใจว่าคุณสามารถป้อนค่าใดลงในบางฟิลด์ -> ไปที่เว็บไซต์ -> เลือกเกม -? ตรวจสอบสิ่งที่คุณสามารถเลือกและ/หรือป้อนลงในแบบฟอร์มการค้นหา
เลือกประเภทเกม
เลือกประเภทการดาวน์โหลด -> "พื้นฐาน" อนุญาตให้ป้อนเฉพาะ "ชื่อ" และ/หรือ "แท็ก" เพื่อค้นหา -> "ขั้นสูง" - อนุญาตให้ตั้งค่าพารามิเตอร์การค้นหาทุกรายการสำหรับเกมที่เลือก (อยู่ระหว่างดำเนินการกับรายการนั้น)
ป้อนค่าสำหรับแต่ละฟิลด์ที่ได้รับแจ้งหรือคลิก "Enter" เพื่อรับค่าเริ่มต้น
รอให้การดาวน์โหลดเสร็จสิ้น
โหลดหน้าสำหรับเกมที่เลือกแล้ว และซีลีเนียมกรอกแบบฟอร์ม
หลังจากคลิกปุ่มค้นหาแล้ว โปรแกรมจะรอ 5 วินาทีเพื่อให้เว็บไซต์โหลด
มันจะดาวน์โหลดการ์ดทุกๆ 5 วินาที เพื่อป้องกันการดาวน์โหลดหลายครั้ง เนื่องจากเว็บไซต์ไม่ชอบการดาวน์โหลดหลายครั้ง (การ์ดบางใบอาจมีขนาดเกิน 25MB ดังนั้นจึงควรเผื่อเวลาไว้มากกว่า) //ฉันอาจสร้างฟังก์ชันที่ตรวจสอบว่าการดาวน์โหลดการ์ดเสร็จสิ้นแล้ว แทนที่จะดำเนินการไปยังการ์ดถัดไปในอนาคต
หากหน้านั้นมีการ์ดน้อยกว่า 24 ใบ แสดงว่าเป็นหน้าสุดท้าย (หรือเพียงหน้าเดียว) -> ดาวน์โหลดเสร็จแล้ว
หากหน้ามีการ์ด 24 ใบ แต่ปุ่ม "ถัดไป" ถูกปิดใช้งาน -> ดาวน์โหลดเสร็จสิ้น
หากปุ่มใช้งานอยู่ -> เปลี่ยน URL และโหลดหน้า -> เริ่มดาวน์โหลดการ์ด จนกว่าจะมีการ์ดน้อยกว่า 24 ใบในหน้า หรือปุ่ม "ถัดไป" ถูกปิดใช้งาน
การ์ดบางใบมีน้ำหนักมาก เกิน 25MB - หากอินเทอร์เน็ตของคุณช้า - เปลี่ยนเวลารอ - ระหว่างการดาวน์โหลดการ์ดเป็น 20 วินาที!
ฟังก์ชัน SLEEP ที่สอดคล้องกันในโค้ดจะมีความคิดเห็น ล้อมรอบด้วย # เช่นเดียวกับที่แสดงด้านล่าง:
###################################### #BELOW TIME FOR CARD TO BE DOWNLOADED# ######################################
+ปัญหาที่ทราบคือ -> มัลแวร์ไบต์จะฆ่าโปรแกรมหากคุณเรียกใช้จาก PyCharm และอาจอยู่ในรูปแบบอื่นใด ปิดการใช้งานและลองใช้อีกครั้ง //มันชอบที่จะฆ่าสคริปต์หลาม
เพื่อให้แน่ใจว่าโปรแกรมดาวน์โหลดการ์ดทั้งหมดคุณสามารถใช้สูตรนี้: ((จำนวนหน้า) - 1) * 24 + (จำนวนการ์ดในหน้าสุดท้าย)
สำหรับ 7 หน้า เมื่อสุดท้ายมีไพ่ 4 ใบก็จะเป็น 6*24+4 = 148 ใบ
สำหรับผู้ใช้ขั้นสูง: อย่าใช้สคริปต์นี้เพื่อดาวน์โหลด 'เนื้อหาสด' -> หากมีใครอัปโหลดการ์ดใหม่ลงในไซต์ และการ์ดนั้นเข้าเงื่อนไขในการดาวน์โหลดของคุณ สคริปต์จะไม่ดาวน์โหลดการ์ดเหล่านั้น สถานการณ์ดังกล่าวจะเปลี่ยนลำดับการ์ด และอาจนำไปสู่การละเว้นการ์ดบางใบในการค้นหาที่เข้มข้นมากหรือการดาวน์โหลดซ้ำ ลองนึกภาพว่ามีไพ่ 30 ใบบนเว็บไซต์ - 1 หน้ามีไพ่ 24 ใบและไพ่ 6 ใบในหน้า 2 คุณเริ่มดาวน์โหลดและในวินาทีแรกมีคนอัปโหลดไพ่เพิ่มอีก 3 ใบ หน้าสามารถรองรับไพ่ได้ 24 ใบ ดังนั้น 3 ใบสุดท้ายจึงย้ายไปหน้าที่ 2 ซึ่งตอนนี้วางไพ่ได้ 9 ใบ แต่สคริปต์ไม่รู้ - เบราว์เซอร์มีหน้าที่โหลดไว้ก่อนหน้านั้น มีเวอร์ชันของเว็บไซต์ที่ไม่มีการย้ายการ์ด สคริปต์เปลี่ยนหน้าเป็นหน้าถัดไป (หน้า 2) คุณดาวน์โหลดการ์ดทั้ง 9 ใบรวมทั้งการ์ด 3 ใบที่คุณมีอยู่แล้ว