이 스크립트는 Projekt Gutenberg 웹사이트에서 도서 URL 목록을 스크랩하고, 원치 않는 URL을 필터링하고, epub2go 서비스를 사용하여 해당 EPUB 파일을 다운로드하는 데 도움이 됩니다.
내 친구가 Projekt Gutenberg가 매장에서 디지털화한 책의 ePub 파일을 유료화 벽 뒤에 숨기는 것에 대해 불평했습니다. 그는 모든 책을 ePub 형식으로 얻기를 원했고 책은 이미 HTML로 쉽게 사용할 수 있기 때문에 나는 그렇게 하기로 결정했습니다. 몇 가지 조사를 한 후 우연히 epub2go 서비스를 발견했습니다. 이 서비스를 사용하면 로컬 종속성과 계산 없이 책을 HTML에서 ePub으로 더 쉽게 변환할 수 있습니다.
이 스크립트는 Projekt Gutenberg에서 책을 다운로드하는 과정을 자동화하고, epub2go 서비스를 사용하여 책을 ePub 형식으로 변환하고, 변환된 파일을 로컬 컴퓨터*에 저장합니다.
(*이것은 스크립트의 작업 디렉토리에 모두 덤프하기 때문에 현재 매우 보기 흉합니다)
Projekt Gutenberg의 스크랩북 URL
원치 않는 URL(책이 아님) 필터링
epub2go 서비스를 사용하여 변환된 ePub 파일을 다운로드합니다.
서비스 과부하를 방지하기 위해 요청 사이에 지연을 추가합니다.
스크립트를 설정하고 실행하려면 다음 단계를 따르세요.
설치된 Chrome/Chromium 버전과 일치하는 최신 Selenium용 ChromeDriver를 다운로드하세요. 원하는 위치에 바이너리를 배치하고 코드에서 경로를 업데이트합니다.
클라이언트 측 JavaScript를 헤드리스로 실행하려면 최신 Google Chrome 또는 Chromium 브라우저를 다운로드하고 압축을 풀어보세요.
pip를 사용하여 필수 Python 종속성을 설치합니다.
pip 설치 -r 요구사항.txt
다운로드와 변환 사이의 구성 가능한 지연
다운로드 속도를 높이기 위한 다운로드 병렬화(epub2go에 과부하가 걸리지 않도록 정상적인 제한 사용)
전체 저자 이름과 책 제목을 미리 스크랩한 다음 books/author/book_title
기반으로 디렉터리 구조를 만들고 거기에 ePub 파일을 배치합니다.