This script will download the Tesla Service Manual onto a local doc folder for offline access. Windows and MacOS (thanks to CollinHeist).
- Go into
secrets.py
and fill outtesla_account_email
andtesla_account_password
with your account and password. - Go into
scrape.py
and enter the index URL of the manual you want saved by changingservice_manual_index
andbase_url
variables. It is defaulted to the Model S (2012-2020), but confirmed to work on the Model 3 too. - If you have 2FA or other challenges with login, consider changing
login_delay
insecrets.py
to 2 or 3 seconds so you can manually enter your credentials. - Setup Python 3. See tutorial at: https://wiki.python.org/moin/BeginnersGuide/Download
- Setup selenium for Python. To use the required stealth module, you must use the Chromium webdriver. See tutorial at: https://blog.testproject.io/2019/07/16/installing-selenium-webdriver-using-python-chrome/
- Pip install the required packages (including
requests
,selenium
,selenium-stealth
, andbeautifulsoup4
). On windows, you run the following commands on command prompt (CMD):cd C:\Users\Anson\Desktop\TeslaServiceManualScraper
[template, the path should go wherever you saved this readme]run pip install -r requirements.txt
- Before scraping, it is always a good idea to use a VPN of some sort to avoid any issues with your account. I didn't run into any issues personally, but you can never be too safe. It is also worthwhile to open a new account to claim the manuals instead of using a personal account.
- Run
scrape.py
by typingpython scrape.py
- The browser will automatically restart when it encounters problems with the files or login status.
- Go into
docs/
folder and open upindex.html
. You're going to get 99% of the service manual just like that, but no search functionality.
- Run CMD on Windows, and change the directory to the
docs
folder. Something like thiscd C:\Users\Anson\Desktop\TeslaServiceManualScraper
- Run the following command:
python -m http.server
(Python obviously needs to be installed) - Use a web browser and navigate to:
http://localhost:8000/
to see the full service manual including search.
- A full scrape of the Model 3 service manual took over 30 minutes. This script is set up so that you can stop the script, and then continue later on.
- Keep an eye out, Tesla's website seems to boot you out of logged in status after about 250 pages or 20 minutes of continuous refreshing. So it might be worthwhile to run this on the side while keeping an eye on your login status.
- Total file size of the Model 3 service manual is roughly 2.2GB.
- On your first run, Tesla might throw a Captcha or lead to an error page. Most of the time, just rerun and it'll work.
- If you get an "Access Denied" page, Tesla has likely blocked you. Usually that block expires in 10 minutes.
- If you need to reset for any reason (scraping another manual), you need to delete or move the
docs/
folder and thedict.picle
file.