PTS에서 Ford 서비스 매뉴얼의 HTML 및 PDF 버전을 다운로드합니다.
Ford 서비스 매뉴얼의 72시간 구독권을 구입하고 이를 영구적으로 저장하고 싶으십니까? 여기에 당신을 위한 저장소가 있습니다.
이 설명서의 저작권은 Ford에 있으므로 공유하지 마십시오!
현재 이 기능을 작동하려면 브라우저 DevTools에 대한 지식이 필요합니다. 사용법을 잘 모르겠으면 친구에게 물어보세요.
이 스크립트는 헤드리스 브라우저 상호 운용성 라이브러리인 playwright
사용하여 문서를 원시 HTML이 아닌 PDF 파일로 저장합니다(이렇게 하면 파일에 이미지가 포함됩니다).
이 스크립트는 Windows에서 기본적으로 작동하는 것으로 확인되었지만(문제 #6 참조) WSL에서 실행하는 것이 좋습니다. WSL에서 실행하면 Git 및 Node와 같은 설치가 훨씬 쉬워집니다.
WSL은 Windows와 함께 Linux(이 프로젝트에는 Ubuntu가 권장됨)를 실행하는 방법입니다. 가상 머신보다 훨씬 빠르지만 여전히 실제 Linux 커널을 사용합니다. 여기에서 자세히 알아보고 설치 지침을 확인하세요.
corepack
포함)corepack enable
실행git clone https://github.com/iamtheyammer/fetch-ford-service-manuals.git
사용하여 이 저장소를 복제하고 저장소 디렉터리를 입력합니다(예: cd fetch-ford-service-manuals
).git pull
실행하세요!git pull
Already up to date.
라고 말하지 않는 경우. , 다음 2단계를 실행하여 종속성을 최신 상태로 유지하세요.git stash
, git pull
실행한 다음 git stash apply
실행하여 파일을 숨김 해제하세요.yarn
실행하여 종속성 다운로드yarn playwright-setup
실행하여 Playwright를 다운로드하고 설정하세요.이 지침은 Chrome 또는 Chrome 기반 브라우저에 적용됩니다.
templates/
에서 cookieString.txt.template
사본을 만들고 이름을 cookieString.txt
로 지정합니다.cookieString.txt
의 내용을 지웁니다.templates/
에서 params.json.template
의 복사본을 만들고 이름을 params.json
으로 지정합니다.차량이 2003년 이전에 제작된 경우 이 지침을 따르십시오.
이 스크립트에는 올바른 매뉴얼을 가져오기 위해 PTS GUI에서 사용할 수 없는 자동차에 대한 일부 데이터가 필요합니다.
https://www.fordservicecontent.com/Ford_Content/PublicationRuntimeRefreshPTS//publication/prod_1_3_372022/TreeAndCover/workshop/32/~WSLL/{some numbers here}
로 필터링합니다. 이 사진의 요청과 유사해야 합니다.templates/params.json
열고 해당 요청의 정보를 JSON .workshop
필드 값에 복사하여 붙여넣습니다.차량이 2003년 이후에 제조된 경우에는 이 지침을 따르십시오.
templates/params.json
열고 다음만 변경하십시오.workshop.modelYear
에서 자동차의 연도까지pre_2003.alphabeticalIndexURL
2단계에서 복사한 URL로https://www.fordservicecontent.com/Ford_Content/PublicationRuntimeRefreshPTS//wiring/TableofContent
(마지막에 쿼리 매개변수가 있으므로 괜찮습니다). 이 사진의 요청과 유사해야 합니다.TableOfContent
가 아닌 SINGULAR: TableOfContent
인지 확인하세요 s
environment
, bookType
및 languageCode
쿼리 매개변수를 params.json
의 .wiring
에 복사합니다.WiringBookTitle
또는 WiringBookCode
가 여전히 누락된 경우 배선 매뉴얼을 선택해야 할 수도 있습니다. 매뉴얼을 선택한 후 https://www.fordtechservice.dealerconnection.com/wiring/TableOfContents
에 대한 또 다른 요청에서 이를 찾을 수 있습니다(끝부분에 일부 쿼리 매개변수 포함).booktitle
→ WiringBookTitle
book
→ WiringBookCode
params.json
작성하세요.params.json
저장합니다.cookieString.txt
cookieString.txt.template
복사본을 아직 만들지 않은 경우 만듭니다.https://www.fordtechservice.dealerconnection.com/wiring/TableOfContents
(마지막에 쿼리 매개변수가 있으므로 괜찮습니다).TableOfContent
가 아니라 PLURAL: TableOfContent
s
인지 확인하세요.cookieString.txt
파일에 붙여넣습니다.cookieString.txt
Cookie:
가 포함되어서는 안 됩니다.cookieString.txt
저장합니다. 설명서를 PDF로 다운로드하려면 yarn start -c templates/params.json -s templates/cookieString.txt -o /directory/where/you/want/the/downloaded/manual/
실행하세요. 다음과 같은 출력이 표시됩니다.
설명서 다운로드가 시작되기 전에 봇은 백그라운드에서 PTS 사이트 열기를 시도하여 쿠키가 올바르게 설정되었는지 확인합니다. 이 검사를 건너뛸 수 있지만 --noCookieTest
를 사용하여 건너뛰면 나중에 오류가 발생할 가능성이 높습니다.
다운로드한 매뉴얼의 디렉토리가 비어 있는지 확인하세요. 하위 폴더가 많이 있을 것입니다.
yarn start --help
실행하여 더 많은 매개변수 정보를 얻을 수 있습니다. 특히, --saveHTML
기본적으로 다운로드되는 .pdf
파일과 함께 .html
파일을 저장하고, --ignoreSaveErrors
오류가 발생하면 오류가 있는 파일을 건너뛰고 설명서를 계속 다운로드합니다.
시간이 조금 걸릴 수 있습니다! 빠른 인터넷 연결과 더 중요한 것은 빠른 디스크 드라이브를 갖춘 빠른 컴퓨터에서 2005 Taurus 매뉴얼을 다운로드하는 데 15분 이상이 소요됩니다. 인내심을 가지세요!
또한 결과 폴더의 크기가 꽤 큽니다. 2005년형 Taurus의 폴더는 약 300mb였고, F150 폴더는 몇 기가바이트였습니다.
문제가 있나요? 일반적인 문제 또는 FAQ를 참조하세요.
이 봇은 귀하가 설정한 차량에 대한 전체 작업장 매뉴얼과 모든 배선 다이어그램을 다운로드합니다.
배선 다이어그램은 outputpath/Wiring
에 있습니다. 배선 다이어그램의 목차가 포함된 toc.json
파일도 있습니다.
Wiring/Connector Views
폴더가 있는 경우 거기에 특별한 파일인 Connectors.csv
가 있습니다. 자동차의 모든 커넥터를 찾을 수 있는 위치와 부품 위치 차트의 위치를 알려줍니다. 데이터를 보려면 Excel이나 Google Sheets에서 열어보세요. 간단한 예는 다음과 같습니다.
커넥터 ID | 커넥터 | 커넥터 위치 보기 페이지 번호 | 그리드 참조 | 차량 내 위치 |
---|---|---|---|---|
C168A | 10R80 변속기(2.7L) | 29 | F5 | 전염 |
C1840 | 라인 압력 제어(LPC) 솔레노이드 | 34 | E8 | 내부 전송 |
Wiring/Connector Location Views
) 출력 디렉터리의 폴더 구조는 PTS의 구조를 모방하므로 파일에 1: General Information -> 00: Service Information -> 100-00 General Information -> About this Manual
같은 경로가 있는 경우 폴더 outputpath/1: General Information/00: Service Information/100-00 General Information/About this Manual.pdf
.
cover.html
파일에는 책 표지와 글머리 기호로 표시된 목차가 포함되어 있습니다. 해당 글머리 기호 트리는 다운로드한 매뉴얼의 파일 구조에 직접 매핑됩니다. 파일/폴더 이름에는 일부 문자가 허용되지 않으므로 슬래시, 콜론 등과 같은 문자는 저장할 때 대시로 대체됩니다.
toc.json
파일에는 PDF를 가져오는 데 사용되는 "문서 번호"에 매핑된 이름과 함께 컴퓨터에서 읽을 수 있는 목차가 포함되어 있습니다.
대부분의 운영 체제에서는 파일 이름을 255바이트(255자가 아님)로 제한합니다. 200자를 초과하는 파일 이름의 경우(매우 드물지만) 다운로더는 이름을 자른 다음 끝에 (docID truncated)
를 추가합니다.
이름이 긴 문서를 찾는 데 문제가 있는 경우 값이 있는 키인 toc.json
에서 해당 문서를 검색하세요. 해당 값은 파일 이름에 포함될 docID
입니다.
2002년 이전 차량의 경우 매뉴얼에서 구조가 다르고 가져오기 어렵기 때문에 이 도구에서는 알파벳순 색인만 사용합니다. 이는 출력이 약간 다르다는 것을 의미합니다. 지정한 출력 폴더에 매뉴얼의 모든 페이지가 포함된 평면 구조를 얻게 됩니다.
outputpath/AA_Table_Of_Contents.html
열어 매뉴얼을 쉽게 탐색할 수 있습니다. 상단의 문자를 제외한 모든 링크는 작동합니다.
또한 몇 가지 특수 파일도 있습니다:
AA_Table_Of_Contents.html
은 모든 링크가 작동하는 특별하게 처리된 목차입니다! 설명서를 탐색하려면 브라우저에서 엽니다.AAA_alphabeticalIndex.json
은 모든 링크가 알파벳순 인덱스로 포함된 JSON 파일입니다. 목차만큼 유용하지는 않지만 필요한 경우에는 있습니다. 이는 처리 스크립트의 결과입니다.AAA_originalTableOfContents.html
은 원본 목차이므로 링크가 작동하지 않습니다. 필요한 경우 거기에 있습니다. 처리 스크립트의 결과입니다. 이러한 파일에는 AAA
접두사가 붙으므로 대부분의 파일 브라우저에서 파일 목록 상단에 나타납니다.
스크립트가 시작되면 PTS에 로그인하여 쿠키가 작동하는지 확인합니다. 이것이 실패하면 설명서를 가져오지 못할 수도 있습니다.
쿠키를 다시 수집하고 올바른 쿠키를 사용하고 있는지 확인하세요. 쿠키가 정확하다고 100% 확신한다면 명령에 --noCookieTest
추가할 수 있습니다.
음, 구독이 만료된 것 같습니다. 설명서를 다운로드하려면 갱신해야 합니다.
--noCookieTest
사용하여 이 검사를 건너뛸 수도 있지만 구독하지 않으면 설명서를 다운로드할 수 없습니다.
...
쿠키 문자열에서 찾을 수 없습니다. 이는 기능에 영향을 미칠 수 있습니다.스크립트는 예상 쿠키 목록과 비교하여 쿠키 파일을 자동으로 확인합니다. 예상된 쿠키 중 하나를 찾을 수 없으면 경고 메시지가 표시됩니다(이 내용이 인쇄되더라도 봇은 멈추지 않습니다).
이 메시지가 표시되고 스크립트가 매뉴얼을 다운로드하기 시작하면 그대로 두십시오. 이는 단지 경고일 뿐입니다. 메시지가 표시되고 모든 것이 정상적으로 다운로드되면 다른 사람들을 위해 문제를 해결할 수 있도록 GitHub 문제를 열어주세요.
문제가 있는 경우 쿠키를 다시 수집해 보세요.
ERR_HTTP2_PROTOCOL_ERROR
이는 귀하의 쿠키가 유효하지 않거나 Ford(실제로는 Akamai)가 헤드리스 브라우저(Playwright)를 사용하고 있음을 감지했음을 의미할 수 있습니다.
먼저 쿠키를 다시 수집하고 다시 시도해 보세요. 여전히 문제가 있으면 문의하세요.
ERR_BAD_RESPONSE
이는 일반적으로 params.json
파일의 필드 중 하나가 잘못되었음을 의미합니다. 모든 필드가 올바른지 확인하고, 여전히 문제가 있는 경우 GitHub 문제를 엽니다. (Ford가 사이트를 업데이트할 때 이런 일이 가끔 발생합니다.)
제가 테스트한 모든 것입니다. 그냥 재미로 시도해 보았습니다.
모두 완벽하게 작동했습니다!
쿠키를 다시 수집하려면 다음 지침에 따라 다음 사항을 확인하세요.
Cookie:
복사한 경우 헤더의 일부Request Headers
오른쪽 상단에 있는 Raw
토글을 활성화하세요.;
첫 번째 페이스트와 두 번째 페이스트 사이여전히 문제가 있으면 문의하세요.
아마! 우리는 북미, 남미, 유럽, 호주 전역에서 성공을 거두었습니다.
스크립트는 영어로 되어 있지만(인쇄되는 모든 메시지는 영어로 표시됨) params.json
에 지정된 언어로 설명서를 다운로드합니다. Ford는 요청한 언어로 제공되는 매뉴얼을 보유해야 합니다.
특정 언어로 설명서를 다운로드하려면 PTS 언어를 변경하고 모든 매개변수를 다시 수집한 후 다운로드를 다시 실행하십시오.
Ford가 매뉴얼 액세스 방법을 계속 변경함에 따라 이 프로젝트에는 지속적인 유지 관리가 필요합니다.
이 프로젝트가 도움이 되었다면 GitHub 후원자(페이지 상단의 "후원자" 버튼 클릭)에서 이 프로젝트를 후원하거나, 커피를 사주거나, 공유해 주세요!
끌어오기 요청을 통한 기여도 환영합니다. 귀하의 PR이 병합될 가능성을 높이려면 다음을 수행하십시오.
node_modules
폴더 없음).yarn format
으로 코드 형식을 지정하세요.이는 필수 사항은 아닙니다. 제가 항상 도움을 드릴 수는 있지만 프로세스가 더 빨라집니다.
저는 기꺼이 도와드리지만 저는 풀타임 대학생이고 이것은 순수한 열정의 프로젝트입니다. 또한 테스트를 위해 PTS 구독을 유지하지 않습니다(장기적으로 비용이 많이 듭니다!).
도움이 필요하면 GitHub 문제를 열거나 Discord 서버에 가입하세요. 99%의 문제를 해결하려면 params.json
및 cookieString.txt
파일과 관련된 오류가 필요합니다. Discord 서버에 비공개로 보내는 방법이 있습니다.
내 차의 매뉴얼을 갖고 싶었고, PDF를 다운로드할 수 있기를 바라며 구독권을 구입했습니다. 그래서 바로 그렇게 했습니다!
두 가지 이유. 첫째, 나는 DDoS Ford를 원하지 않습니다. (그들은 또한 Akamai를 앞에 두고 있으며 수많은 병렬 요청이 이를 유발하여 우리를 차단할 것입니다.) 둘째, 동기적으로 코딩하는 것이 더 쉬웠습니다.