Ladda ner EuroBonus-historik

@mha321 Det verkar som att den har problem med åäö i description-fältet. Jag har en post med ett "å" i som skriptet stoppar vid. Kommenterar jag bort utskriften av det fältet och ersätter med exvis "xxxx" så går det fint.

Besitter tyvärr inte några vidare Pythonkunskaper, annars hade jag nog försökt tolka om det fältet till något bra.



Edit: Glömde ju bort att tacka för en grym insats, satt och funderade på att jag skulle vilja ha något sånt här häromdagen! Gillas skarpt!
 
ekf skrev:@mha321Det verkar som att den har problem med åäö i description-fältet. Jag har en post med ett "å" i som skriptet stoppar vid. Kommenterar jag bort utskriften av det fältet och ersätter med exvis "xxxx" så går det fint.Besitter tyvärr inte några vidare Pythonkunskaper, annars hade jag nog försökt tolka om det fältet till något bra.Klicka för att utvidga...
Hmm. Det funkar utmärkt för mig (har ju gudbevars flugit till Växjö).



Vad kör du på för plattform? Och är det i text-output eller csv output som inte fungerar (eller båda)?
 
mha321 skrev:Vad kör du på för plattform? Och är det i text-output eller csv output som inte fungerar (eller båda)?Klicka för att utvidga...
Jag har en Raspberry Pi liggandes som kör Raspbian, så jag körde från den, visserligen från en terminal på OSX som sen SSH in till raspberryn. Dte är problem med både csv och plaintext. Jag får följande fel vid plaintext:



Kod:


Traceback (most recent call last):
File "ebcrawler.py", line 106, in <module>
up, # Use points
UnicodeEncodeError: 'ascii' codec can't encode character '\xe5' in position 46: ordinal not in range(128)

och detta snarlika meddelande vid csv-output:



Kod:


Traceback (most recent call last):
File "ebcrawler.py", line 92, in <module>
c.writerow(r)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe5' in position 40: ordinal not in range(128)
 
Ping @Samosaguas



För er som inte orkar/kan trakassera @mha321 så... följande fungerade för mig på Windows 8.1 Pro x64. Jag hämtade Python 3.6.0.



1. Ladda ner Python från Download Python | Python.org och installera. Jag lät den lägga sig i AppData (övre alternativet).



2. Öppna cmd, gör cd (change directory) till mappen ebcrawler-master, var du nu lagt den efter att du hämtat ner den.

Alternativt, håll in Shift och högerklicka i mappen ebcrawler-master och välj "Open command window here".



3. Skriv "py ebcrawler.py", om du får följande felmeddelande "ModuleNotFoundError: No module named 'requests'" så behöver du ladda ner modulen "requests". Detta gör du genom att skriva "py -m pip install requests"

Om du inte får meddelandet så är det bra, det betyder att du redan har "requests"... då får du ett annat meddelande som är



Kod:


C:\Users\admin\Desktop\ebcrawler-master>py ebcrawler.py
usage: ebcrawler.py [-h] [--password PASSWORD] [--all] [--pages PAGES]
[--csv CSV]
ebnumber
ebcrawler.py: error: the following arguments are required: ebnumber

Skriv då "py ebcrawler.py --password DITTLÖSENORD --all --csv filnamn.csv 123456789" Där DITTLÖSENORD är ditt lösenord och där 123456789 är ditt EB-nummer.

Detta bör resultera i en fil som heter "filnamn.csv" i samma mapp som ebcrawler.py ligger i, med alla transaktioner från ditt EB-konto.
 
ekf skrev:Jag har en Raspberry Pi liggandes som kör Raspbian, så jag körde från den, visserligen från en terminal på OSX som sen SSH in till raspberryn. Dte är problem med både csv och plaintext.Klicka för att utvidga...
Hmm. Verkar som Raspbian inte har UTF8-stöd i konsolen som standard åtminstone.



Kan du prova senaste uppdateringen? Försöker tvinga igenom UTF8 i CSV-filen (den borde alltså kunna funka med CSV -- jag har inte gjort någon ändring för text output, den kräver att konsolen ställs om i UTF8)
 
mha321 skrev:Hmm. Verkar som Raspbian inte har UTF8-stöd i konsolen som standard åtminstone.Kan du prova senaste uppdateringen? Försöker tvinga igenom UTF8 i CSV-filen (den borde alltså kunna funka med CSV -- jag har inte gjort någon ändring för text output, den kräver att konsolen ställs om i UTF8)Klicka för att utvidga...
Det fungerar galant! Stort tack!
 
bnr skrev:Ping@SamosaguasFör er som inte orkar/kan trakassera@mha321så... följande fungerade för mig på Windows 8.1 Pro x64. Jag hämtade Python 3.6.0.1. Ladda ner Python frånDownload Python | Python.orgoch installera. Jag lät den lägga sig i AppData (övre alternativet).2. Öppna cmd, gör cd (change directory) till mappen ebcrawler-master, var du nu lagt den efter att du hämtat ner den.Alternativt, håll in Shift och högerklicka i mappen ebcrawler-master och välj "Open command window here".3. Skriv "py ebcrawler.py", om du får följande felmeddelande "ModuleNotFoundError: No module named 'requests'" så behöver du ladda ner modulen "requests". Detta gör du genom att skriva "py -m pip install requests"Om du inte får meddelandet så är det bra, det betyder att du redan har "requests"... då får du ett annat meddelande som ärKod:C:\Users\admin\Desktop\ebcrawler-master>py ebcrawler.py
usage: ebcrawler.py [-h] [--password PASSWORD] [--all] [--pages PAGES]
[--csv CSV]
ebnumber
ebcrawler.py: error: the following arguments are required: ebnumberSkriv då "py ebcrawler.py --password DITTLÖSENORD --all --csv filnamn.csv 123456789" Där DITTLÖSENORD är ditt lösenord och där 123456789 är ditt EB-nummer.Detta bör resultera i en fil som heter "filnamn.csv" i samma mapp som ebcrawler.py ligger i, med alla transaktioner från ditt EB-konto.Klicka för att utvidga...
Stort tack! Fungerade klockrent med denna hjälp.
 
Funkade kanon i OSX också. Om någon behöver en "manual" för det så följer den här:



1. Ladda hem Python för OSX här: https://www.python.org/ftp/python/3.6.0/python-3.6.0-macosx10.6.pkg och installera som vilket program som helst.



2. Öppna en Terminal och installera requests modulen genom att köra följande kommando:



Kod:


python3.6 -m pip install requests



3. Kör scriptet med följande kommando i din Terminal:



Kod:


python3.6 ebcrawler.py --password DITTLÖSENORD --all --csv eb.csv DITTEBNUMMER
 
krediterar så mycket till EB längre men lite kul att se history.

Min första var från 2001. Kommer inte ihåg om det var gardin eller något dock data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7

StockholmSK 0124 C Business,1200,12002001-05-07,Basic Points,Stockholm - Malmö SK 0103 C Business,1200,1200
 
Snyggt gjort @mha321! Riktigt kul att se all historik. T ex denna:

2007-XX-XX Extra Points Connecting flt: Points for use applies to flt subject to competition 0 150

Ingen aning vad det avser
 
Jakob Österberg skrev:Snyggt gjort@mha321! Riktigt kul att se all historik. T ex denna:2007-XX-XX Extra Points Connecting flt: Points for use applies to flt subject to competition 0 150Ingen aning vad det avserKlicka för att utvidga...


Var det en inrikesflygning i Sverige? SAS fick väl dela ut användbara poäng på några sträckor där det fanns konkurrens. I övrigt fick man enbart statusgrundande poäng i Sverige om jag minns rätt. I Norge var det inga poäng alls. Men var detta så sent som 2007?
 
Går det att se vilka fält som är exponerade i API't? Fältet som heter Description verkar vara minst två fält som är hopslagna. (det kan man se på avsaknaden av mellanslag på normalt SK IT manér data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)



Nu ser det ut så här:


https://www.businessclass.com/forum/attachments/skärmklipp-jpg.61133/



Tidigare så såg det ut så här på sas.se:

https://www.businessclass.com/forum/attachments/skärmklipp-jpg.61132/



Jag skulle gärna vilja se rad 1 och 2 i separata fält, därför undrar jag om det kanske finns fler fält i API't som man kunde använda för det?
 
aldrighemma skrev:Går det att se vilka fält som är exponerade i API't? Fältet som heter Description verkar vara minst två fält som är hopslagna. (det kan man se på avsaknaden av mellanslag på normalt SK IT manér)Nu ser det ut så här:Visa bifogad bild 61133Tidigare så såg det ut så här på sas.se:Visa bifogad bild 61132Jag skulle gärna vilja se rad 1 och 2 i separata fält, därför undrar jag om det kanske finns fler fält i API't som man kunde använda för det?Klicka för att utvidga...
Nope, de är sammanslagna i apiet.



Det finns ett fält som inte kom med i output som innehåller "FlightActivity" eller "OtherActivity" (och något mer). Men eftersom detta till största delen även talas om i poäng typ så tog jag inte med det, för att få plats med mer av beskrivningen. Men det borde kanske läggas med i csv åtminstone.



Sedan är det nog mycket möjligt och troligt att det finns något internt api som har de två värdena i olika fält, men det publika apiet som vi kommer åt har det inte tyvärr.
 
Jakob Österberg skrev:Snyggt gjort@mha321! Riktigt kul att se all historik. T ex denna:2007-XX-XX Extra Points Connecting flt: Points for use applies to flt subject to competition 0 150Ingen aning vad det avserKlicka för att utvidga...



AABack2ARN skrev:Var det en inrikesflygning i Sverige? SAS fick väl dela ut användbara poäng på några sträckor där det fanns konkurrens. I övrigt fick man enbart statusgrundande poäng i Sverige om jag minns rätt. I Norge var det inga poäng alls. Men var detta så sent som 2007?Klicka för att utvidga...


SAS fick inte dela ut några poäng annat än enbart statusgrundande på svenskt inrikes, dock gällde inte det om det var en anslutning till en utrikes flight och då fick man poäng även för inrikesbenet. Det är den krediteringen du ser där...
 
FYI har man mer än 100 sidor historik så skiter det sig. Felmeddelandet kommer från SAS system.

Använd då --pages 99
 
Bra initiativ! Hoppas de gör liknande med poängbokningar sedan också, så att man kan bygga en egen sökmotor för t ex Business-awards.
 
Canadien skrev:Bra initiativ! Hoppas de gör liknande med poängbokningar sedan också, så att man kan bygga en egen sökmotor för t ex Business-awards.Klicka för att utvidga...
Verkar lovande eftersom deras vanliga sök använder ett API som returnerar json. Bonusresor bokas ju fortfarande på gamla sajten. Testade att byta ut REVENUE mot AWARD i api-anropet, men så enkelt var det tyvärr inte.
 
LSH skrev:Verkar lovande eftersom deras vanliga sök använder ett API som returnerar json. Bonusresor bokas ju fortfarande på gamla sajten. Testade att byta ut REVENUE mot AWARD i api-anropet, men så enkelt var det tyvärr inte.Klicka för att utvidga...
Det är bara att hålla tummarna. Och det är knappast någon idé att lägga någon tid på att försöka klura ut hur man kan göra något i det gamla APIet, för det lär försvinna snart (snart med SAS-mått mätt visserligen, men ändå).
 
mha321 skrev:Det är bara att hålla tummarna. Och det är knappast någon idé att lägga någon tid på att försöka klura ut hur man kan göra något i det gamla APIet, för det lär försvinna snart (snart med SAS-mått mätt visserligen, men ändå).Klicka för att utvidga...
Skrev ett litet hack som kan söka flighter. Får tillbaka objekt där det finns fält för priser i SEK,poäng och credits men de två sistnämnda är aldrig satta. Väntar med att gå vidare tills bonusresor är implementerat på sajten.
 
Va smidigt det var att ladda ner hela historiken data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 Tack @mha321



Nu skulle man önska sig att man kunna göra bokningar genom ett klientverktyg typ KVS så man slapp använda SAS' hemsida.
 
Back
Top