무료로 도구를 다운로드하여 개인적인 용도로 사용할 수 있습니다. 이 프로그램을 수정하여 공유하고 싶다면 포크를 만드세요. 다음과 같이 상단에 원본 저장소에 대한 링크를 포함해야 합니다. 원본 저장소: [링크]
고급 프로그램을 사용하면 동작을 더 많이 제어하고 구성을 편집할 수 있습니다. 대부분의 사용자에게는 표준 버전이면 충분합니다. 고급 프로그램 버전은 이 저장소의 'advanced_version' 디렉터리에 있습니다.
나는 Python을 배우고 배치 카드 다운로드의 백업 수단으로 사용하기 위해 이 응용 프로그램을 만들고 있습니다. 나는 JS로 작성한 자체 브라우저 추가 기능이 있는데 잘 작동하지만 손상된 추가 기능이 작동을 멈출 경우를 대비해 이 솔루션을 개발 중입니다. 또한 해당 추가 기능의 소스 코드는 나만을 위해 만들어졌기 때문에 게시하지 않을 것입니다. 따라서 약간 손상되었지만 고치려고 애쓰지 않을 정도입니다. 그리고 이 프로젝트는 그렇게 시작됩니다. 계획은 Selenium을 사용하여 현재 브라우저 추가 기능이 수행할 수 있는 것보다 더 많은 기능을 수행하는 것입니다. 추가 기능은 다운로드 버튼을 순서대로 클릭하고 다운로드가 완료될 때까지 하드 코딩된 시간을 기다린 후(사이트가 마음에 들지 않기 때문에 여러 다운로드를 방지하기 위해) 다음 버튼을 클릭하여 다음 페이지로 이동하고 반복하는 방식으로 작동했습니다. . 이제 사용자가 구성 파일을 생성하여 다운로드 프로세스를 더욱 자동화할 수 있는 또 다른 솔루션을 만들고 싶습니다. 그것이 나를 어디로 데려갈지 볼 것이다.
나는 이미 그 목적을 위해 JS Extension을 작성하는 것이 매우 빠르고 덜 복잡하다는 것을 알고 있지만 확실히 두 솔루션 모두 장단점이 있습니다. (아마도 나중에 나열할 것 같습니다)
소프트웨어는 개발 중이므로 내부 작동 방식을 더 잘 이해하려면 .py 파일 내의 코드 주석을 읽는 것이 좋습니다.
이 프로그램은 db.bepis.moe용으로 만들어졌습니다. 따라서 일부 필드에 어떤 값을 입력할 수 있는지 확실하지 않은 경우 -> 웹사이트로 이동 -> 게임 선택 -? 선택할 수 있는 항목을 확인하거나 검색 양식에 입력할 수 있습니다.
게임 종류를 선택하세요
다운로드 유형 선택 -> "기본"을 선택하면 "이름" 및/또는 "태그"만 입력하여 검색할 수 있습니다. -> "고급" - 선택한 게임에 사용할 수 있는 모든 검색 매개변수를 설정할 수 있습니다(해당 게임에 대한 작업이 진행 중임).
프롬프트된 각 필드에 값을 입력하거나 "Enter"를 클릭하여 기본값을 가져옵니다.
다운로드가 완료될 때까지 기다리세요.
선택한 게임의 페이지가 로드되고 셀레늄으로 양식이 채워집니다.
검색 버튼을 클릭하면 프로그램은 웹사이트가 로드될 때까지 5초 동안 기다립니다.
웹사이트는 다중 다운로드를 좋아하지 않기 때문에 다중 다운로드를 방지하기 위해 5초마다 카드를 다운로드합니다. (일부 카드는 25MB를 넘을 수 있으므로 시간을 적게 두는 것보다 더 많이 주는 것이 좋습니다.) //나중에 다음 카드로 진행하는 것보다 카드 다운로드가 완료되었는지 확인하는 기능을 만들 수도 있습니다.
페이지에 카드가 24개 미만인 경우 마지막 페이지(또는 하나만) -> 다운로드 완료
페이지에 24개의 카드가 있지만 "다음" 버튼이 비활성화된 경우 -> 다운로드 완료
버튼이 활성화된 경우 -> URL 변경 및 페이지 로드 -> 페이지에 카드가 24개 미만이거나 "다음" 버튼이 비활성화될 때까지 카드 다운로드를 시작합니다.
일부 카드는 무게가 25MB를 초과할 정도로 무겁습니다. 인터넷이 느린 경우 대기 시간을 변경하세요. 카드 다운로드 간격을 20초로 단축하세요!
코드의 해당 SLEEP 함수에는 #으로 둘러싸인 주석이 있습니다. 아래에 표시된 것과 같습니다.
###################################### #BELOW TIME FOR CARD TO BE DOWNLOADED# ######################################
+알려진 문제는 다음과 같습니다. -> PyCharm에서 프로그램을 실행하거나 다른 형식으로 실행하면 Malwarebytes가 프로그램을 종료합니다. 비활성화하고 다시 사용해 보십시오. //파이썬 스크립트를 죽이는 것을 좋아합니다.
프로그램이 모든 카드를 다운로드했는지 확인하려면 다음 공식을 사용할 수 있습니다. ((페이지 수) - 1) * 24 + (마지막 페이지의 카드 수)
7페이지의 경우 마지막에 4장의 카드가 포함되어 있으면 다음과 같습니다: 6*24+4 = 148장의 카드
덜 숙련된 사용자의 경우: '라이브 콘텐츠' 다운로드에 이 스크립트를 사용하지 마십시오. -> 누군가가 사이트에 새 카드를 업로드하고 다운로드 조건에 해당하면 스크립트는 해당 카드를 다운로드하지 않습니다. 이러한 상황에서는 카드 순서가 변경되어 매우 활발한 검색이나 중복 다운로드에서 일부 카드가 누락될 수 있습니다. 웹사이트에 30개의 카드가 있다고 상상해 보십시오. 24개의 카드로 구성된 1페이지와 2페이지에 6개의 카드가 있습니다. 다운로드를 시작하면 처음 몇 초 안에 누군가 3개의 카드를 더 업로드합니다. 페이지는 24장의 카드를 처리할 수 있으므로 마지막 3장의 카드는 2페이지로 이동되어 이제 9장의 카드가 놓입니다. 그러나 스크립트는 이를 알지 못합니다. 브라우저에는 그 전에 로드된 페이지가 있습니다. 카드가 이동되지 않은 웹사이트 버전이 있습니다. 스크립트는 페이지를 다음 페이지(2페이지)로 변경합니다. 이미 가지고 있는 카드 3장을 포함하여 9장의 카드를 다운로드합니다.