تنزيل إصدارات HTML وPDF من أدلة خدمة Ford من PTS.
هل قمت بشراء اشتراك لمدة 72 ساعة في أدلة خدمة فورد وتريد حفظه بشكل دائم؟ وهنا الريبو بالنسبة لك.
هذه الأدلة محمية بحقوق الطبع والنشر لشركة Ford، لذا لا تشاركها!
يتطلب تشغيل هذا حاليًا بعض المعرفة بأدوات تطوير المتصفح. إذا لم تكن متأكدًا من كيفية استخدامها، فاسأل صديقًا يعرف ذلك.
يستخدم هذا البرنامج النصي playwright
، وهي مكتبة تشغيل متداخل للمتصفح بدون رأس، لحفظ المستندات كملفات PDF بدلاً من HTML الخام (بهذه الطريقة تتضمن الملفات صورًا).
على الرغم من أنه تم التحقق من عمل هذا البرنامج النصي على Windows محليًا (راجع الإصدار رقم 6)، فمن المستحسن تشغيله في WSL. إن التشغيل في WSL يجعل تثبيت أشياء مثل Git وNode أسهل بكثير.
WSL هي طريقة لتشغيل Linux (يوصى باستخدام Ubuntu لهذا المشروع) جنبًا إلى جنب مع Windows. إنه أسرع بكثير من الجهاز الظاهري ولكنه لا يزال يستخدم نواة 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.
، قم بتنفيذ الخطوتين التاليتين للتأكد من تحديث التبعيات الخاصة بك.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 من أجل جلب الدليل الصحيح.
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
إلى عنوان URL الذي نسخته في الخطوة 2https://www.fordservicecontent.com/Ford_Content/PublicationRuntimeRefreshPTS//wiring/TableofContent
(توجد معلمات استعلام في النهاية، لا بأس بذلك). يجب أن يبدو مشابهًا للطلب الموجود في هذه الصورة.TableOfContent
، وليس TableOfContent
s
environment
و bookType
و languageCode
إلى .wiring
في params.json
.WiringBookTitle
أو WiringBookCode
لا يزالان مفقودين، فقد تحتاج إلى تحديد قد تحتاج إلى تحديد دليل الأسلاك. بعد تحديد الدليل، ستجد ذلك في طلب آخر إلى https://www.fordtechservice.dealerconnection.com/wiring/TableOfContents
(مع بعض معلمات الاستعلام في النهاية):booktitle
→ WiringBookTitle
book
→ WiringBookCode
params.json
بأفضل ما يمكنك.params.json
.cookieString.txt.template
تسمى cookieString.txt
إذا لم تكن قد قمت بذلك بالفعل.https://www.fordtechservice.dealerconnection.com/wiring/TableOfContents
(توجد معلمات استعلام في النهاية، لا بأس).TableOfContent
s
، وليس TableOfContent
cookieString.txt
.cookieString.txt
يجب ألا يتضمن ملف تعريف الارتباط Cookie:
على سبيل المثال.)cookieString.txt
.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
سيحفظ ملفات .html
مع ملفات .pdf
التي تم تنزيلها افتراضيًا، وسيستمر --ignoreSaveErrors
في تنزيل الأدلة في حالة حدوث خطأ، وتخطي الملف مع وجود خطأ.
يمكن أن يستغرق بعض الوقت! على جهاز كمبيوتر سريع مع اتصال إنترنت سريع، والأهم من ذلك، محرك أقراص سريع، أكثر من 15 دقيقة لتنزيل الأدلة الخاصة بسيارة توروس 2005. كن صبوراً!
كما أن المجلد الناتج كبير جدًا. كان حجم المجلد الخاص بـ Taurus لعام 2005 حوالي 300 ميجابايت، وكان المجلد F150 يبلغ بضعة غيغابايت.
هل تواجه مشكلات؟ راجع المشكلات الشائعة أو الأسئلة الشائعة.
يقوم هذا الروبوت بتنزيل دليل ورشة العمل بالكامل وجميع مخططات الأسلاك الخاصة بالمركبة التي قمت بإعدادها.
ستكون مخططات الأسلاك في outputpath/Wiring
. يوجد أيضًا ملف toc.json
يحتوي على جدول محتويات لمخططات الأسلاك.
إذا كان لديك مجلد Wiring/Connector Views
، فلديك ملف خاص هناك: Connectors.csv
. فهو يخبرك بمكان العثور على كل موصل في السيارة، ومكان وجوده في مخططات موقع المكونات. افتحه في Excel أو Google Sheets لرؤية البيانات. إليك مثال سريع:
معرف الموصل | موصل | رقم صفحة مشاهدات موقع الموصل | مرجع الشبكة | الموقع في السيارة |
---|---|---|---|---|
C168A | ناقل الحركة 10R80 (2.7 لتر) | 29 | F5 | الانتقال |
C1840 | الملف اللولبي للتحكم في ضغط الخط (LPC). | 34 | ه8 | داخل الإرسال |
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:
جزء من الرأس، إذا قمت بنسخهRaw
في الجزء العلوي الأيمن من Request Headers
;
بين المعجون الأول والمعجون الثانيإذا كنت لا تزال تواجه مشكلة، تواصل معنا.
من المحتمل! لقد حققنا نجاحًا في جميع أنحاء أمريكا الشمالية وأمريكا الجنوبية وأوروبا وأستراليا.
على الرغم من أن البرنامج النصي باللغة الإنجليزية (بمعنى أن جميع الرسائل المطبوعة ستكون باللغة الإنجليزية)، فإنه سيتم تنزيل الأدلة باللغة المحددة في params.json
. لاحظ أنه يجب أن يتوفر لدى Ford الدليل باللغة المطلوبة.
لتنزيل الأدلة بلغة معينة، قم بتغيير لغة PTS الخاصة بك ، وأعد جمع كافة المعلمات، وقم بتشغيل التنزيل مرة أخرى.
مع استمرار فورد في تغيير كيفية الوصول إلى الأدلة، يتطلب هذا المشروع صيانة مستمرة.
إذا كان هذا المشروع مفيدًا لك، فيمكنك دعم هذا المشروع على رعاة GitHub (انقر فوق زر "الراعي" في أعلى الصفحة)، أو اشتر لي قهوة، أو شاركها فقط!
المساهمات عبر طلبات السحب هي أيضًا موضع ترحيب. للحصول على أكبر فرصة لدمج العلاقات العامة الخاصة بك، يرجى:
node_modules
)yarn format
قبل إرساله للمراجعة السهلةهذه ليست متطلبات--يمكنني دائمًا مساعدتك في هذه الأشياء--لكنها تجعل العملية أسرع.
يسعدني عمومًا تقديم المساعدة، ولكنني طالب جامعي بدوام كامل وهذا مشروع شغوف تمامًا. كما أنني لا أحتفظ باشتراك PTS في متناول اليد للاختبار (إنه مكلف جدًا على المدى الطويل!).
للحصول على المساعدة، افتح مشكلة GitHub أو انضم إلى خادم Discord. للمساعدة في حل 99% من المشكلات، سأحتاج إلى الخطأ الذي تتلقاه مع ملفات params.json
و cookieString.txt
. هناك طريقة على خادم Discord لإرسالها بشكل خاص.
كنت أرغب في الحصول على دليل سيارتي، واشتريت الاشتراك على أمل تنزيل ملف PDF، وهذا ما فعلته بالضبط!
سببين. أولاً، لا أريد DDoS Ford (لديهم أيضًا Akamai أمام هذا، والعديد من الطلبات الموازية ستؤدي إلى تشغيله تمامًا وتسبب في حظرنا). ثانيًا، كان من الأسهل الترميز بشكل متزامن.