pantherale0 / pyfuelprices

An expandable Python fuel prices library
MIT License
2 stars 2 forks source link

Romania: Peco Online #5

Closed pantherale0 closed 3 months ago

pantherale0 commented 9 months ago

https://www.peco-online.ro/

pantherale0 commented 3 months ago
    <string name="firebase_database_url">https://peco-online-android.firebaseio.com</string>
    <string name="gcm_defaultSenderId">784545860808</string>
    <string name="google_api_key">AIzaSyAxUDG7dd9lp2HOo-wx1mTI9hTkO2l2gMI</string>
    <string name="google_app_id">1:784545860808:android:af41dcc77ac8ad36</string>
    <string name="google_crash_reporting_api_key">AIzaSyAxUDG7dd9lp2HOo-wx1mTI9hTkO2l2gMI</string>
    <string name="google_storage_bucket">peco-online-android.appspot.com</string>
pantherale0 commented 3 months ago

Seems to be some interesting looking phone home URLs here:

App ID: YueWcf0orjSz3IQmaT8yBNDTM5POP0mOU6EDyE3U Client Key: ctPx9Ahrz9aaXhEvN0oWCzlX8FHX1cv3r7vZwxH8 Server: https://pg-app-hnf14cfy2xb2v9x9eueuchcd2xyetd.scalabl.cloud/1/

pantherale0 commented 3 months ago

Full sample request:

POST /1/classes/farapret3 HTTP/1.1 X-Parse-Application-Id: YueWcf0orjSz3IQmaT8yBNDTM5POP0mOU6EDyE3U X-Parse-App-Build-Version: 69 X-Parse-App-Display-Version: 4.0 X-Parse-OS-Version: 14 User-Agent: Parse Android SDK API Level 34 X-Parse-Installation-Id: 89f45574-8ea3-48eb-b797-9ac92abc8f2d X-Parse-Client-Key: ctPx9Ahrz9aaXhEvN0oWCzlX8FHX1cv3r7vZwxH8 Content-Type: application/json Content-Length: 303 Host: pg-app-hnf14cfy2xb2v9x9eueuchcd2xyetd.scalabl.cloud Connection: Keep-Alive Accept-Encoding: gzip

{"limit":"1000","where":"{\"Oras\":{\"$regex\":\"(test)\",\"$options\":\"i\"},\"Benzina_Regular\":{\"$gt\":0},\"DoarGPL\":{\"$ne\":1},\"Retea\":{\"$in\":[\"Gazprom\",\"Lukoil\",\"Mol\",\"OMV\",\"Petrom\",\"Rompetrol\",\"Socar\",\"BLKOil\",\"Ozana\",\"RST\"]}}","order":"Benzina_Regular","_method":"GET"}

HTTP/1.1 200 OK X-Powered-By: Express Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS Access-Control-Allow-Headers: X-Parse-Master-Key, X-Parse-REST-API-Key, X-Parse-Javascript-Key, X-Parse-Application-Id, X-Parse-Client-Version, X-Parse-Session-Token, X-Requested-With, X-Parse-Revocable-Session, Content-Type, Pragma, Cache-Control Access-Control-Expose-Headers: X-Parse-Job-Status-Id, X-Parse-Push-Status-Id Content-Type: application/json; charset=utf-8 Content-Length: 13201 ETag: W/"3391-5otctspfuz78EAWLQb/l3Dy+9oQ" Date: Sun, 23 Jun 2024 21:55:25 GMT Set-Cookie: 4272537a73a4fd62bf5e530f2242be14=29409e7166d8cf2e2a1a16b1d96f3fbf; path=/; HttpOnly

{"results":[{"objectId":"3waFaoC3rL","Retea":"Petrom","Id":"RO.1341.8","Statie":"Statia Pitesti","Adresa":"Str. Abatorului nr. 6, 110040","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":6.98,"Benzina_Premium":0,"Motorina_Regular":7.07,"Motorina_Premium":7.43,"GPL":0,"AdBlue":0,"lat":44.8524,"lng":24.88562,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.8524,"longitude":24.88562},"createdAt":"2023-01-11T14:21:33.156Z","updatedAt":"2024-06-23T17:26:14.246Z"},{"objectId":"ESj2EV4OXP","Retea":"Lukoil","Id":"P006","Statie":"Statia SDC Prisma","Adresa":"str. Calea Bucuresti, nr. 2F","Oras":"Balotesti","Judet":"Ilfov","Benzina_Regular":6.99,"Benzina_Premium":7.69,"Motorina_Regular":7.1,"Motorina_Premium":7.46,"GPL":3.55,"AdBlue":0,"lat":44.602752,"lng":26.071168,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.602752,"longitude":26.071168},"createdAt":"2024-06-23T17:24:52.953Z","updatedAt":"2024-06-23T17:24:52.953Z"},{"objectId":"WiTgdEXoKp","Retea":"Lukoil","Id":"P050","Statie":"Statia SDC Pitesti 2","Adresa":"str. Depozitelor","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":6.99,"Benzina_Premium":7.69,"Motorina_Regular":7.1,"Motorina_Premium":7.46,"GPL":0,"AdBlue":0,"lat":44.865709,"lng":24.878858,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.865709,"longitude":24.878858},"createdAt":"2024-06-23T17:27:47.932Z","updatedAt":"2024-06-23T17:27:47.932Z"},{"objectId":"C8QGWhXrlB","Retea":"Petrom","Id":"RO.1350.8","Statie":"Statia Costesti","Adresa":"Str. Victoriei nr. 88, 115200","Oras":"Costesti","Judet":"Arges","Benzina_Regular":7.03,"Benzina_Premium":7.59,"Motorina_Regular":7.12,"Motorina_Premium":7.53,"GPL":3.59,"AdBlue":0,"lat":44.67241,"lng":24.88097,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.67241,"longitude":24.88097},"createdAt":"2022-05-14T03:50:24.017Z","updatedAt":"2024-06-23T17:21:33.499Z"},{"objectId":"c6mvaLpIL6","Retea":"Petrom","Id":"RO.1338.8","Statie":"Statia Pitesti","Adresa":"Calea Campulung nr. 1, 110147","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.03,"Benzina_Premium":7.59,"Motorina_Regular":7.12,"Motorina_Premium":7.53,"GPL":3.57,"AdBlue":0,"lat":44.86812,"lng":24.88335,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.86812,"longitude":24.88335},"createdAt":"2022-05-14T03:50:50.753Z","updatedAt":"2024-06-23T17:21:17.867Z"},{"objectId":"sx1e8QD2CB","Retea":"Petrom","Id":"RO.1253.8","Statie":"Statia Fetesti","Adresa":"Str. Calarasi, nr. 514, 925100","Oras":"Fetesti","Judet":"Ialomita","Benzina_Regular":7.03,"Benzina_Premium":7.59,"Motorina_Regular":7.12,"Motorina_Premium":7.53,"GPL":0,"AdBlue":0,"lat":44.40599,"lng":27.83032,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.40599,"longitude":27.83032},"createdAt":"2022-05-14T03:51:49.096Z","updatedAt":"2024-06-23T17:23:51.244Z"},{"objectId":"JR5tFCJNgV","Retea":"Socar","Id":"3297","Statie":"Statia Franciza Giurgiu","Adresa":"Str. Bucuresti nr. 2, Remus","Oras":"Fratesti","Judet":"Giurgiu","Benzina_Regular":7.05,"Benzina_Premium":0,"Motorina_Regular":7.12,"Motorina_Premium":7.69,"GPL":0,"AdBlue":0,"lat":43.95132,"lng":25.98063,"ParseGeoPoint":{"type":"GeoPoint","latitude":43.95132,"longitude":25.98063},"createdAt":"2024-06-23T21:15:39.457Z","updatedAt":"2024-06-23T21:15:39.457Z"},{"objectId":"JX0DlwcE5H","Retea":"Mol","Id":"1193236","Statie":"Statia Pitesti 2 - Balcescu 85","Adresa":"Bdul. Nicolae Balcescu, Nr. 85, 110087","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.09,"Benzina_Premium":7.8,"Motorina_Regular":7.18,"Motorina_Premium":7.74,"GPL":3.57,"AdBlue":999999,"lat":44.87095,"lng":24.85296,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.87095,"longitude":24.85296},"createdAt":"2024-06-23T14:46:38.476Z","updatedAt":"2024-06-23T14:46:38.476Z"},{"objectId":"7ZxzMlt5zr","Retea":"Mol","Id":"1193643","Statie":"Statia Pitesti 6 - Balcescu","Adresa":"B-dul Nicolae Balcescu, Nr. 206, 110329","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.09,"Benzina_Premium":7.8,"Motorina_Regular":7.18,"Motorina_Premium":7.74,"GPL":3.57,"AdBlue":999999,"lat":44.88669,"lng":24.82517,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.88669,"longitude":24.82517},"createdAt":"2024-06-23T14:47:01.155Z","updatedAt":"2024-06-23T14:47:01.155Z"},{"objectId":"RAbL4SQxhd","Retea":"Mol","Id":"1198795","Statie":"Statia Pitesti 1 - Nicolae Balcescu (spre Bucuresti)","Adresa":"Bd. Nicolae Balcescu fn, 110329","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.09,"Benzina_Premium":7.8,"Motorina_Regular":7.18,"Motorina_Premium":7.74,"GPL":3.57,"AdBlue":999999,"lat":44.88685,"lng":24.82543,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.88685,"longitude":24.82543},"createdAt":"2024-06-23T14:49:48.530Z","updatedAt":"2024-06-23T14:49:48.530Z"},{"objectId":"feZ4YRHpBo","Retea":"OMV","Id":"RO.1940.8","Statie":"Statia Pitesti","Adresa":"Calea Bucuresti 40, 110133","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.09,"Benzina_Premium":7.8,"Motorina_Regular":7.18,"Motorina_Premium":7.74,"GPL":0,"AdBlue":0,"lat":44.86736,"lng":24.884,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.86736,"longitude":24.884},"createdAt":"2024-06-23T14:03:46.963Z","updatedAt":"2024-06-23T14:03:46.963Z"},{"objectId":"hW1MDjlmUp","Retea":"OMV","Id":"RO.1729.8","Statie":"Statia Pitesti","Adresa":"Str. Nicolae Balcescu nr. 186, 110101","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.09,"Benzina_Premium":7.8,"Motorina_Regular":7.18,"Motorina_Premium":7.74,"GPL":0,"AdBlue":0,"lat":44.88224,"lng":24.83389,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.88224,"longitude":24.83389},"createdAt":"2024-06-23T14:04:01.093Z","updatedAt":"2024-06-23T14:04:01.093Z"},{"objectId":"XVbavzU4Df","Retea":"Rompetrol","Id":"4124","Statie":"Statia Pitesti Podul Viilor","Adresa":"Calea Bucuresti","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.09,"Benzina_Premium":7.8,"Motorina_Regular":7.18,"Motorina_Premium":7.74,"GPL":0,"AdBlue":0,"lat":44.86739,"lng":24.88353,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.86739,"longitude":24.88353},"DoarGPL":0,"createdAt":"2022-04-22T08:29:26.355Z","updatedAt":"2024-06-23T19:31:35.829Z"},{"objectId":"ZU0Vjf5yES","Retea":"Rompetrol","Id":"4122","Statie":"Statia Pitesti Craiovei","Adresa":"Calea Craiovei nr.127","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.09,"Benzina_Premium":7.72,"Motorina_Regular":7.18,"Motorina_Premium":7.59,"GPL":0,"AdBlue":0,"lat":44.839069,"lng":24.882975,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.839069,"longitude":24.882975},"DoarGPL":0,"createdAt":"2022-04-22T08:29:27.046Z","updatedAt":"2024-06-23T19:31:34.144Z"},{"objectId":"iNbT8VmGjh","Retea":"Rompetrol","Id":"4121","Statie":"Statia Pitesti Balcescu","Adresa":"Bd. Nicolae Balcescu","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.09,"Benzina_Premium":7.8,"Motorina_Regular":7.18,"Motorina_Premium":7.74,"GPL":0,"AdBlue":0,"lat":44.884945,"lng":24.827646,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.884945,"longitude":24.827646},"DoarGPL":0,"createdAt":"2022-04-22T08:29:28.404Z","updatedAt":"2024-06-23T19:31:33.239Z"},{"objectId":"eRL0BTrGxX","Retea":"Rompetrol","Id":"4084","Statie":"Statia Fetesti","Adresa":"Str. Depoului 31","Oras":"Fetesti","Judet":"Ialomita","Benzina_Regular":7.09,"Benzina_Premium":7.72,"Motorina_Regular":7.18,"Motorina_Premium":7.59,"GPL":0,"AdBlue":0,"lat":44.416496,"lng":27.804457,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.416496,"longitude":27.804457},"createdAt":"2022-08-25T07:20:50.934Z","updatedAt":"2024-06-23T19:30:59.649Z"},{"objectId":"cQWvgb2Vzn","Retea":"Mol","Id":"1193645","Statie":"Statia Pitesti 5 - Republicii","Adresa":"Str. Republicii, Nr. 220, 110177","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.1,"Benzina_Premium":7.79,"Motorina_Regular":7.2,"Motorina_Premium":7.76,"GPL":3.58,"AdBlue":999999,"lat":44.84605,"lng":24.88827,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.84605,"longitude":24.88827},"createdAt":"2024-06-23T14:47:02.395Z","updatedAt":"2024-06-23T14:47:02.395Z"},{"objectId":"9jbDddvnZi","Retea":"Rompetrol","Id":"4123","Statie":"Statia Pitesti Fratii Golesti","Adresa":"Str. Fratii Golesti56-58-60","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.1,"Benzina_Premium":7.79,"Motorina_Regular":7.2,"Motorina_Premium":7.76,"GPL":0,"AdBlue":0,"lat":44.846207,"lng":24.886503,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.846207,"longitude":24.886503},"DoarGPL":0,"createdAt":"2022-04-22T08:29:26.706Z","updatedAt":"2024-06-23T19:31:34.986Z"},{"objectId":"621Hp8mRim","Retea":"Socar","Id":"2761","Statie":"Statia Pitesti","Adresa":"DN 65B, km. 4","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.1,"Benzina_Premium":0,"Motorina_Regular":7.2,"Motorina_Premium":0,"GPL":0,"AdBlue":0,"lat":44.8243267,"lng":24.9176062,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.8243267,"longitude":24.9176062},"createdAt":"2024-06-23T21:16:19.343Z","updatedAt":"2024-06-23T21:16:19.343Z"},{"objectId":"eQVCk4Q3th","Retea":"Mol","Id":"1198918","Statie":"Statia Pitesti 4 - Intrare Autostrada","Adresa":"DN 65B, km 3+721, 110345","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.11,"Benzina_Premium":7.8,"Motorina_Regular":7.2,"Motorina_Premium":7.76,"GPL":3.58,"AdBlue":999999,"lat":44.82465,"lng":24.91691,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.82465,"longitude":24.91691},"createdAt":"2024-06-23T14:50:32.944Z","updatedAt":"2024-06-23T14:50:32.944Z"},{"objectId":"IRyLGxx7YV","Retea":"OMV","Id":"RO.1941.8","Statie":"Statia Pitesti","Adresa":"Str. Petrochimistilor 51, 110181","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.11,"Benzina_Premium":7.8,"Motorina_Regular":7.2,"Motorina_Premium":7.76,"GPL":0,"AdBlue":0,"lat":44.82527,"lng":24.91514,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.82527,"longitude":24.91514},"createdAt":"2024-06-23T14:03:48.233Z","updatedAt":"2024-06-23T14:03:48.233Z"},{"objectId":"9FruIO3Mhg","Retea":"Petrom","Id":"RO.1353.8","Statie":"Statia Com. Ratesti","Adresa":"Aut. Buc. Pitesti km. 80, 117610","Oras":"Ratesti","Judet":"Arges","Benzina_Regular":7.11,"Benzina_Premium":7.67,"Motorina_Regular":7.19,"Motorina_Premium":7.6,"GPL":0,"AdBlue":0,"lat":44.70061,"lng":25.22885,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.70061,"longitude":25.22885},"createdAt":"2022-05-14T03:50:49.697Z","updatedAt":"2024-06-23T17:21:34.766Z"},{"objectId":"95BSg217Fd","Retea":"OMV","Id":"RO.1780.8","Statie":"Statia Com. Balotesti","Adresa":"DN 1 KM 19, 077015","Oras":"Balotesti","Judet":"Ilfov","Benzina_Regular":7.12,"Benzina_Premium":7.81,"Motorina_Regular":7.2,"Motorina_Premium":7.75,"GPL":0,"AdBlue":0,"lat":44.59354,"lng":26.07059,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.59354,"longitude":26.07059},"createdAt":"2024-06-23T14:03:29.379Z","updatedAt":"2024-06-23T14:03:29.379Z"},{"objectId":"VOyRm2Ja1X","Retea":"Mol","Id":"1198749","Statie":"Statia Pitesti 3 - Autostrada - Km 80","Adresa":"Autostrada Bucuresti - Pitesti, Km 80+700, 117610","Oras":"Ratesti","Judet":"Arges","Benzina_Regular":7.19,"Benzina_Premium":7.88,"Motorina_Regular":7.25,"Motorina_Premium":7.75,"GPL":3.65,"AdBlue":999999,"lat":44.70069,"lng":25.22871,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.70069,"longitude":25.22871},"createdAt":"2024-06-23T14:49:27.049Z","updatedAt":"2024-06-23T14:49:27.049Z"},{"objectId":"GL8w1UjqX3","Retea":"Mol","Id":"1200496","Statie":"Statia A1 PRUNDU STANGA","Adresa":"A1 km 110+100, 110183","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.19,"Benzina_Premium":7.88,"Motorina_Regular":7.25,"Motorina_Premium":7.75,"GPL":3.78,"AdBlue":999999,"lat":44.831764,"lng":24.924418,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.831764,"longitude":24.924418},"createdAt":"2024-06-23T14:50:37.592Z","updatedAt":"2024-06-23T14:50:37.592Z"},{"objectId":"704lQNojPF","Retea":"Mol","Id":"1200412","Statie":"Statia A1 PRUNDU DREAPTA","Adresa":"A1 km 110+100, 110183","Oras":"Pitesti","Judet":"Arges","Benzina_Regular":7.19,"Benzina_Premium":7.88,"Motorina_Regular":7.25,"Motorina_Premium":7.75,"GPL":3.78,"AdBlue":999999,"lat":44.832397,"lng":24.925164,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.832397,"longitude":24.925164},"createdAt":"2024-06-23T14:51:48.932Z","updatedAt":"2024-06-23T14:51:48.932Z"},{"objectId":"uQGv2Jse4E","Retea":"Rompetrol","Id":"4086","Statie":"Statia Litro Fetesti A2 Stanga","Adresa":"Autostrada 2, km 139 stanga","Oras":"Fetesti","Judet":"Ialomita","Benzina_Regular":7.23,"Benzina_Premium":7.92,"Motorina_Regular":7.29,"Motorina_Premium":7.79,"GPL":0,"AdBlue":999999,"lat":44.405514,"lng":27.796093,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.405514,"longitude":27.796093},"DoarGPL":0,"createdAt":"2022-04-22T08:29:42.461Z","updatedAt":"2024-06-23T19:31:01.356Z"},{"objectId":"C0fEOJPeie","Retea":"Rompetrol","Id":"4085","Statie":"Statia Litro Fetesti A2 Dreapta","Adresa":"Autostrada 2, km 139 dreapta","Oras":"Fetesti","Judet":"Ialomita","Benzina_Regular":7.23,"Benzina_Premium":7.92,"Motorina_Regular":7.29,"Motorina_Premium":7.79,"GPL":0,"AdBlue":999999,"lat":44.405529,"lng":27.798403,"ParseGeoPoint":{"type":"GeoPoint","latitude":44.405529,"longitude":27.798403},"DoarGPL":0,"createdAt":"2022-04-22T08:29:42.805Z","updatedAt":"2024-06-23T19:31:00.529Z"}]}

pantherale0 commented 3 months ago

Changing the POST body we can manipulate what is returned. For example the where clause is entirely optional:

{ "limit": "10000", "order": "Benzina_Regular", "_method": "GET" }

Although it looks like we should include it to filter out bad data stations that are not often updated

image

pantherale0 commented 3 months ago

This query works and it makes sure that there is some pricing information:

"{\"Benzina_Regular\":{\"$gt\":0},\"DoarGPL\":{\"$ne\":1},\"Retea\":{\"$in\":[\"Gazprom\",\"Lukoil\",\"Mol\",\"OMV\",\"Petrom\",\"Rompetrol\",\"Socar\",\"BLKOil\",\"Ozana\",\"RST\"]}}"

image

pantherale0 commented 3 months ago

Closing - support added but untested at present