Descarga versiones HTML y PDF de manuales de servicio Ford desde PTS.
¿Compró una suscripción de 72 horas a los manuales de servicio de Ford y desea guardarla permanentemente? Aquí está el repositorio para ti.
Estos manuales tienen derechos de autor de Ford, ¡así que no los comparta!
Para que esto funcione actualmente se requieren algunos conocimientos de DevTools del navegador. Si no estás seguro de cómo usarlos, pregúntale a un amigo que sí lo haga.
Este script utiliza playwright
, una biblioteca de interoperabilidad de navegador sin cabeza, para guardar documentos como archivos PDF en lugar de HTML sin formato (de esta manera los archivos incluyen imágenes).
Si bien se ha verificado que este script funciona en Windows de forma nativa (consulte el número 6), se recomienda ejecutarlo en WSL. Ejecutar en WSL facilita mucho la instalación de cosas como Git y Node.
WSL es una forma de ejecutar Linux (se recomienda Ubuntu para este proyecto) junto con Windows. Es mucho más rápido que una máquina virtual, pero aún utiliza el kernel de Linux real. Obtenga más información y vea las instrucciones de instalación aquí.
corepack
)corepack enable
git clone https://github.com/iamtheyammer/fetch-ford-service-manuals.git
e ingresa al directorio del repositorio (probablemente con cd fetch-ford-service-manuals
)git pull
para estar actualizado!git pull
no dice Already up to date.
, ejecute los siguientes 2 pasos para asegurarse de que sus dependencias estén actualizadas.git stash
, git pull
y luego git stash apply
para deshacer el almacenamiento de sus archivos.yarn
para descargar dependenciasyarn playwright-setup
para descargar y configurar Playwright.Estas instrucciones están destinadas a Chrome o navegadores basados en Chrome.
templates/
, haga una copia de cookieString.txt.template
y asígnele el nombre cookieString.txt
cookieString.txt
templates/
, haga una copia de params.json.template
y asígnele el nombre params.json
.Si su vehículo fue fabricado ANTES de 2003, utilice estas instrucciones.
Este script requiere algunos datos sobre su automóvil que no están disponibles en la GUI de PTS para poder obtener el manual correcto.
https://www.fordservicecontent.com/Ford_Content/PublicationRuntimeRefreshPTS//publication/prod_1_3_372022/TreeAndCover/workshop/32/~WSLL/{some numbers here}
. Debería verse similar a la solicitud en esta foto.templates/params.json
y copie/pegue información de esa solicitud en los valores del campo JSON .workshop
.Si su vehículo se fabricó EN 2003 o POSTERIOR, utilice estas instrucciones.
templates/params.json
y cambie solo:workshop.modelYear
al año de su automóvilpre_2003.alphabeticalIndexURL
a la URL que copiaste en el paso 2https://www.fordservicecontent.com/Ford_Content/PublicationRuntimeRefreshPTS//wiring/TableofContent
(hay parámetros de consulta al final, está bien). Debería verse similar a la solicitud en esta foto.TableOfContent
, no TableOfContent
s
environment
, bookType
y languageCode
en .wiring
en params.json
.WiringBookTitle
o WiringBookCode
, es posible que deba seleccionar un manual de cableado. Después de seleccionar un manual, los encontrará en otra solicitud a https://www.fordtechservice.dealerconnection.com/wiring/TableOfContents
(con algunos parámetros de consulta al final):booktitle
→ WiringBookTitle
book
→ WiringBookCode
params.json
lo mejor que pueda.params.json
.cookieString.txt.template
llamada cookieString.txt
si aún no lo ha hecho.https://www.fordtechservice.dealerconnection.com/wiring/TableOfContents
(hay parámetros de consulta al final, está bien).TableOfContent
s
, no TableOfContent
cookieString.txt
.cookieString.txt
no debe incluir Cookie:
por ejemplo).cookieString.txt
. Para descargar el manual como PDF, ejecute yarn start -c templates/params.json -s templates/cookieString.txt -o /directory/where/you/want/the/downloaded/manual/
. Deberías ver un resultado similar a este.
Antes de que comiencen a descargarse los manuales, el bot validará que sus cookies estén configuradas correctamente intentando abrir el sitio PTS en segundo plano. Si bien puede omitir esta verificación, existe una buena posibilidad de que omitirla (con --noCookieTest
) resulte en un error más adelante.
Asegúrese de que el directorio del manual descargado esté vacío; tendrá muchas subcarpetas.
Puede obtener más información sobre los parámetros ejecutando yarn start --help
. En particular, --saveHTML
guardará los archivos .html
junto con los archivos .pdf
descargados de forma predeterminada, y --ignoreSaveErrors
continuará descargando manuales si se encuentra un error, omitiendo el archivo con un error.
¡Puede tardar un poco! En una computadora rápida con una conexión rápida a Internet y, lo que es más importante, una unidad de disco rápida, se necesitan más de 15 minutos para descargar los manuales del Taurus 2005. ¡Ser paciente!
Además, la carpeta resultante es bastante grande. La carpeta del Taurus 2005 tenía aproximadamente 300 MB y la carpeta F150 tenía un par de gigabytes.
¿Tienes problemas? Consulte Problemas comunes o preguntas frecuentes.
Este bot descarga el manual de taller completo y todos los diagramas de cableado del vehículo que configuras.
Los diagramas de cableado estarán en outputpath/Wiring
. También hay un archivo toc.json
con el índice de los diagramas de cableado.
Si tiene una carpeta Wiring/Connector Views
, tendrá un archivo especial allí: Connectors.csv
. Le indica dónde encontrar cada conector en el automóvil y dónde se encuentran en los cuadros de ubicación de componentes. Ábralo en Excel o Google Sheets para ver los datos. Aquí hay un ejemplo rápido:
ID del conector | Conector | Conector Ubicación Vistas Número de página | Referencia de cuadrícula | Ubicación en el vehículo |
---|---|---|---|---|
C168A | Transmisión 10R80 (2.7L) | 29 | F5 | Transmisión |
C1840 | Solenoide de control de presión de línea (LPC) | 34 | E8 | Transmisión interior |
Wiring/Connector Location Views
) La estructura de carpetas en el directorio de salida imitará la estructura en PTS, por lo que si un archivo tiene una ruta como 1: General Information -> 00: Service Information -> 100-00 General Information -> About this Manual
, estará en el carpeta outputpath/1: General Information/00: Service Information/100-00 General Information/About this Manual.pdf
.
El archivo cover.html
contiene la portada del libro y un índice organizado con viñetas. El árbol de esas viñetas se asigna directamente a la estructura de archivos del manual descargado. Tenga en cuenta que algunos caracteres no están permitidos en los nombres de archivos/carpetas, por lo que caracteres como barras diagonales, dos puntos y más se reemplazan por guiones al guardar.
El archivo toc.json
contiene la tabla de contenido legible por computadora, con el nombre asignado al "número de documento", que se utiliza para buscar el PDF.
La mayoría de los sistemas operativos limitan los nombres de archivos a 255 bytes (no 255 caracteres). Para nombres de archivos de más de 200 caracteres (que son bastante raros), el programa de descarga truncará el nombre y luego agregará (docID truncated)
al final.
Si tiene problemas para encontrar un documento con un nombre largo, búsquelo en toc.json
, donde será una clave con un valor. Ese valor es el docID
que estará en el nombre del archivo.
Los vehículos de 2002 o anteriores tienen una estructura diferente y más difícil de encontrar en el manual, por lo que esta herramienta solo utiliza el índice alfabético. Esto significa que el resultado es un poco diferente; simplemente obtendrá una estructura plana con todas las páginas del manual en la carpeta de salida que especificó.
Puede explorar fácilmente el manual abriendo outputpath/AA_Table_Of_Contents.html
; todos los enlaces funcionan excepto las letras en la parte superior.
También hay algunos archivos especiales:
AA_Table_Of_Contents.html
es una tabla de contenido procesada especial donde funcionan todos los enlaces. Ábralo en su navegador para navegar por el manual.AAA_alphabeticalIndex.json
es un archivo JSON con todos los enlaces en el índice alfabético. No es tan útil como la tabla de contenidos, pero está ahí si la necesitas. Es el resultado del guión de procesamiento.AAA_originalTableOfContents.html
es la tabla de contenido original, por lo que los enlaces no funcionan. Está ahí si lo necesitas. Es el resultado del guión de procesamiento. Estos archivos tienen el prefijo AAA
por lo que aparecen en la parte superior de la lista de archivos en la mayoría de los exploradores de archivos.
Cuando se inicia el script, intenta iniciar sesión en PTS para verificar que sus cookies estén funcionando. Si esto falla, es posible que no pueda recuperar los manuales.
Intente volver a recopilar cookies y asegúrese de estar utilizando las correctas. Si está 100% seguro de que sus cookies son correctas, puede agregar --noCookieTest
al comando.
Bueno, parece que tu suscripción ha caducado. Deberá renovarlo para descargar manuales.
Esta verificación también se puede omitir con --noCookieTest
, pero sin una suscripción no podrás descargar manuales.
...
no encontrada en la cadena de cookies. Esto puede afectar la funcionalidad.El script verifica automáticamente su archivo de cookies con una lista de cookies esperadas. Si no puede encontrar una de las cookies esperadas, le avisará (tenga en cuenta que el robot no se detiene si se imprime).
Si ve este mensaje y el script comienza a descargar manuales, déjelo pasar; es solo una advertencia. Si ve el mensaje y todo se descarga bien, abra un problema de GitHub para que pueda solucionarlo para otros.
Si tiene problemas, intente volver a recopilar sus cookies.
ERR_HTTP2_PROTOCOL_ERROR
Esto puede significar que sus cookies no son válidas o que Ford (en realidad, Akamai) ha detectado que estamos utilizando un navegador sin cabeza (Playwright).
Primero, intente volver a recopilar sus cookies e inténtelo nuevamente. Si aún tiene problemas, comuníquese.
ERR_BAD_RESPONSE
Normalmente, esto significa que uno de los campos de su archivo params.json
es incorrecto. Verifique que todos los campos sean correctos y, si aún tiene problemas, abra un problema de GitHub. (Esto sucede a veces cuando Ford actualiza su sitio).
Todos los que he probado. Sólo por diversión, probé:
¡Todo funcionó perfectamente!
Para volver a recopilar cookies, siga las instrucciones de este conjunto de instrucciones, asegurándose de:
Cookie:
parte del encabezado, si la copiasteRaw
en la parte superior derecha de Request Headers
;
entre la primera pasta y la segunda pastaSi todavía tiene problemas, comuníquese.
¡Probablemente! Hemos tenido éxito en toda Norteamérica, Sudamérica, Europa y Australia.
Si bien el script está en inglés (lo que significa que todos los mensajes que se impriman estarán en inglés), descargará los manuales en el idioma especificado en params.json
. Tenga en cuenta que Ford debe tener el manual disponible en el idioma solicitado.
Para descargar manuales en un idioma específico, cambie el idioma de su PTS , vuelva a recopilar todos los parámetros y ejecute la descarga nuevamente.
A medida que Ford continúa cambiando la forma en que se accede a los manuales, este proyecto requiere un mantenimiento continuo.
Si este proyecto fue útil para usted, puede apoyarlo con los patrocinadores de GitHub (haga clic en el botón "Patrocinador" en la parte superior de la página), invitarme a un café o simplemente compartirlo.
Las contribuciones a través de solicitudes de extracción también son más que bienvenidas. Para tener la mayor probabilidad de fusionar su PR, por favor:
node_modules
)yarn format
antes de enviarlo para una fácil revisiónEstos no son requisitos (siempre puedo ayudarle con estas cosas), pero hacen que el proceso sea más rápido.
En general, estoy feliz de ayudar, pero soy un estudiante universitario de tiempo completo y este es un proyecto puramente apasionante. Tampoco tengo a mano una suscripción PTS para realizar pruebas (¡es bastante cara a largo plazo!).
Para obtener ayuda, abra una incidencia de GitHub o únase al servidor de Discord. Para ayudar con el 99% de los problemas, necesitaré el error que está recibiendo junto con sus archivos params.json
y cookieString.txt
. Hay un método en el servidor de Discord para enviarlos de forma privada.
Quería tener el manual de mi automóvil y compré la suscripción con la esperanza de descargar un PDF, ¡así que eso fue exactamente lo que hice!
Dos razones. En primer lugar, no quiero DDoS Ford (también tienen a Akamai frente a esto, y un montón de solicitudes paralelas lo activarían absolutamente y nos bloquearían). En segundo lugar, era más fácil codificar de forma sincrónica.