Aktualne i historyczne oferty Tesli od ręki

Dodałem do aplikacji fragment z danymi o dostępnych w Tesli samochodach używanych i takich od ręki, które zbieram od 2019-09-21 14:55:00.
Aplikacja jest bardzo słabo użyteczna na komórce, więc nie polecam korzystać w ten sposób.
Jest kilka tego typu aplikacji w internetach ale mam swoją, trochę przystosowaną na polski rynek, więc udostępniam ;)

Adres to ev[kropka]warszawa[kropka]pl i trzeba po tym na końcu dopisać /tesla/ - nie chcę dodawać linka tutaj żeby boty nie chodziły, bo aplikacja zjada dość dużo zasobów przy każdym załadowaniu i ma dużo linków, więc bez sensu - musi przelecieć dużo danych. Jak serwer zacznie mi klękać to będę zmuszony wywalić dostęp i skończy się rumakowanie :p

Wyjaśnienie jak to działa i co pokazuje:
  • dane są pobierane ze wszystkich europejskich (oprócz UK, bo najwyraźniej coś mi tam przestało działać) wersji stron tesla co 10 minut w godzinach 0-1 i 7-23 (nie pobieram ich w nocy, bo miałem ustawione jakieś wysyłanie powiadomień mailowych i nie chciałem żeby mnie budziły ;))
  • tabela jest sortowana po cenie netto (opis tej wartości poniżej)
  • podstawowa tabela zawiera tylko rynki gdzie nie ma cła przy sprowadzaniu do PL, reszta po kliknięciu w link na górze "all except UK"
  • kolumny w tabeli:
    • cena2 = cena uwzględniająca odliczenie 50% VAT oraz amortyzację 19% z uwzględnieniem czy odliczenie VAT jest możliwe
    • refresh = dla modeli TMS i TMX - jeśli wartość pusta, to auto z brzydkim nosem ;)
    • autopilot = tym autopilota - stare modele miały tylko kamerę z przodu
    • TRIM = wariant auta, np. TM3LR, TM3RWD, ...
    • Range = deklarowany zasięg auta
    • Var = model auta, np. m3, my, mx, ms
    • Price = cena auta w walucie lokalnej - może zawierać odliczone wliczone dopłaty na danym rynku
    • cena = liczona na podstawie kursu waluty przy ostatnim dodawaniu danych
    • cena_net = tutaj jest trochę namieszane:
      • liczona z uwzględnieniem lokalnego VAT-u (np. w DE 19%)
      • z uwzględnieniem czy odliczenie VAT jest możliwe
      • dla aut z pustym polem customer date (zakładam, że są nowe) "cofam dopłat lokalne". Dawno nie aktualizowałem kwot (chyba co najmniej od 12.2020) i mam obecnie następujące wartości dla odpowiednich rynków (jeśli komuś się chce to zweryfikować i podać nowe, to mogę zmienić ale auta dostępne przed zmianą zostaną z wyliczoną wtedy ceną netto):
        • 'de_DE' => 3570,
          'fr_FR' => array(
          45000 => 7000,
          60000 => 3000,
          999999 => 0
          ),
          'en_IE' => 5000,
          'it_IT' => 4000,
          'de_AT' => 2400,
    • customer_date = data pierwszego dostarczenia klientowi - jakoś tam odpowiada dacie produkcji
    • city = miasto w którym auto jest dostępne. Jeśli brak albo in_transit, to trzeba sprawdzić na stronie.
    • year = rocznik modelowy - np. TM3 od 2021 mają pompę ciepła
    • trade = rodzaj sprzedaży - z VAT, czy bez
    • status = auto nowe albo używane - nowe zdarzają się po dostawach jak ktoś zrezygnuje ale zwykle i tak jest kolejka, więc to chyba tylko jakieś szczególne przypadki - nie wiem
    • last_update_date = kiedy ostatnio aplikacja widziała dane auto
    • days = ile dni aplikacja widziała auto
    • VIN = pole na vin gdzie vin linkuje do podstrony o aucie z większą ilością informacji, a napis tesla, do regionalnej strony z ogłoszeniem
    • photos = ile jest w ogłoszeniu prawdziwych zdjęć danego auta
    • optionCodeList - lista kodów z opcjami dla danego auta - większość powinna być wyjaśniona w podstronie po kliknięciu w VIN. Da się w ten sposób filtrować różne dziwne rzeczy, których się poszukuje, np. bateria 90kWh ma kod "BTX4", albo pakiet zimowy w TMS i TMX "CW02".
  • dane w szczegółach ogłoszenia:
    • w szczegółach można sprawdzić historię ogłoszenia - zmiany cen i przebiegu w poszczególnych dniach. Zmiana cen uwzględnia też zmianę kursu walut.
    • jest tam też informacja o okresie standardowej gwarancji - w szczególności jeśli auto przekroczyło przebieg lub wiek, w odpowiednich kolumnach pojawią się wartości false
    • zawsze są jakieś zdjęcia, bo każde auto ma sztuczne wizualizacje, żeby zobaczyć inne niż wyświetlone, trzeba klikać i przeciągać - nie chce mi się dorabiać strzałek :p
    • Jeśli auto pojawiło się w sprzedaży więcej niż raz, to zwykle będzie miało dziurę w danych dziennych i dość duży skok przebiegu.
Kulka ważnych uwag dla potencjalnych cwaniaczków ;):
  • Jeśli auto ma datę aktualizacji starszą niż obecna chwila - 10 minut, to jest duża szansa, że zniknęło ze strony Tesla - pewnie zostało sprzedane. Dowiecie się po kliknięciu w link "tesla".
  • Regulamin Tesla mówi o tym, że auta nie mogą być kupowane przez spekulantów i handlarzy, firma prowadzi jedynie sprzedaż bezpośrednią, a osoby złapane na kombinowaniu mogą zostać wykluczone z możliwości zakupu produktów i usług.
  • Tesla w regulaminie teoretycznie nie pozwala też na sprzedaż samochodów za granicę w stosunku do kraju sprzedaży, ale na to chyba trochę przymykają oko jeśli rzeczywiście kupujesz dla siebie. Grożą za to takie same sankcje - wykluczenie ze współpracy z firmą Tesla.
 
Last edited:

Michal

Moderator
Chyba zmienili format danych i w ten sposób popsuli mój kod, bo nowe oferty przestały się zbierać dziś około 12:00. Nie wiem kiedy znajdę chwilę, żeby na to zerknąć - dam znać.
 

Michal

Moderator
Samo się naprawiło :p
Brak danych za okres 27.08.2022 - 19.09.2022.
 

Michal

Moderator
Niestety chyba dostałem bana za zbyt dużą liczbę zapytań i od wczoraj aplikacja nie zbiera danych.
Zmniejszyłem częstotliwość i czekamy - może samo się odblokuje. Jeśli nie to będę musiał zmienić serwer, bo wygląda to na bana adresu IP.

Można nadal oglądać historyczne oferty, ale nowe chwilowo nie wpadają. Ostatnia data aktualizacji 27.07.2023 17:45
 

jarek

Nowy na Forum
Niestety chyba dostałem bana za zbyt dużą liczbę zapytań i od wczoraj aplikacja nie zbiera danych.
Zmniejszyłem częstotliwość i czekamy - może samo się odblokuje. Jeśli nie to będę musiał zmienić serwer, bo wygląda to na bana adresu IP.

Można nadal oglądać historyczne oferty, ale nowe chwilowo nie wpadają. Ostatnia data aktualizacji 27.07.2023 17:45
@Michal nie dostałeś bana tylko Tesla wprowadziła lepsze "zabezpieczenia" w inventory :). Mój skrypt też przestał działać, ale znalazłem sposób na jego przywrócenie. Jeśli dostajesz w odpowiedzi coś takiego:

Access Denied​

You don't have permission to access "http://www.tesla.com/inventory/api/v1/inventory-results?" on this server.
Reference #18.d0c4017.1691081643.63d5b892
to wystarczy, że podczas requestu GET prześlesz Tesli poprawne nagłówki HTTP. Wejdź sobie na inventory przez przeglądarkę i zobacz jakie nagłówki przesyła Twoja przeglądarka, możesz wysłać to samo i powinno zadziałać.
Przykładowo ja wysyłam coś takiego i jest ok:
PHP:
$headers = array(
'Content-Type: application/json; charset=utf-8',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
'Accept-Language: pl,en-US;q=0.7,en;q=0.3',
'Connection: keep-alive',
'Host: www.tesla.com',
'Sec-Fetch-Dest: document',
'Sec-Fetch-Mode: navigate',
'Sec-Fetch-Site: none',
'Sec-Fetch-User: ?1',
'TE: trailers',
'Upgrade-Insecure-Requests: 1',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0');
Daj znać czy pomogło.
 
Last edited:

Michal

Moderator
Dziękuję, nie mam teraz głowy do grzebania w tym. Może po weekendzie.
 

Michal

Moderator
Chociaż nagłówki w sumie łatwo zmienić więc podstawiłem Twoje i zobaczymy za 7 minut ;)
 

Michal

Moderator
Działa! Dzięki!
Nie miałem tych:
PHP:
'Sec-Fetch-Dest: document',
'Sec-Fetch-Mode: navigate',
'Sec-Fetch-Site: none',
'Sec-Fetch-User: ?1',
'TE: trailers',
'Upgrade-Insecure-Requests: 1',
 

Michal

Moderator
Właśnie też zauważyłem, że pojawiły się dane w "last 4 hours" :). Cieszę się, że mogłem pomóc :)
Jak będziesz kiedyś w Warszawie, to masz u mnie piwo/kawę/szota/co tam chcesz ;)

Naprawdę jest mi strasznie miło, że założyłeś konto po to, żeby mi pomóc :D
 
Top