Ved tilfældighed opdagede jeg at app'en kommunikere med http://api.dba.dk/v1/, men deres webserver er snu og forlanger at man udgiver sig for at være 'iPhone' eller 'Android' i sin User-Agent header.
I virkeligheden var det nok bedre at finde en mere tro useragent, men deres parser er tilsyneladende glad hvis blot strengen indeholder endten iPhone eller Android.
Ved første øjekast har jeg fundet følgende endpoints på servicen:
http://api.dba.dk/public/v1/taxonomy
http://api.dba.dk/public/v1/ads
Den første returnere en række forskellige kategorier som man kan browse efter annoncer i, mens den anden er til at søge med, og tager en række parametre hvor af jeg ikke er sikker på hvad flere af dem gør, en af dem er dog lige ud af landevejen, nemlig q hvor man angiver hvad man vil søge efter.
Eksempel med curl:
curl -A 'iPhone' http://api.dba.dk/public/v1/ads?q=yamaha
Herunder et eksempel på de data man får:
Jeg er spændt på hvad folk ka finde på at opfinde med dette api :)
FAntsstisk havde selv kikket på at lave noget screen scraping.
ReplyDeletehar testet med curl og får "curl: (56) Recv failure: Connection reset by peer
" fejl når jeg prøver.
Jeg har lavet en Crawler til DBA som lister annoncer efter søgeord og sender en mail via smtp, når der kommer nye annoncer. Den bruger intet API udover HtmlAgility pack til .NET.
ReplyDeleteMen hold da kæft et fedt api.. Den lister jo alt fuldstændigt rent i XML format. Du har lige lettet mit arbejde så meget!
DeleteDen lister endda tlf. nr. på alle annoncer!
Velbekomme :)
DeleteLige et spørgsmål.. Har du de forskellige parametre som er tilgængelige? F.eks. område?
DeleteHvis man bruger URL'en så har den parametret ®=aarhus eller http://www.dba.dk/soeg/reg-koebenhavn/
:)
Jeg har ingen anelse - jeg troede faktisk at de havde lavet det om eller på anden måde lavet så man ikke bare ku tilgå det :)
DeleteArh øv. Kunne ellers være godt at kende gyldige parametre.
DeleteLige nu findes kun søgeord, antal annoncer vist, start fra annonce x, p= pris?, type privat, og sorteringstype f.eks. dato.
This comment has been removed by the author.
ReplyDeleteTak for info :-) User-Agent er ikke længere påkrævet.
ReplyDeleteEr der nogen der har parametrene ?
ReplyDeletehttp://api.dba.dk/public/v1/ads?q=kjole&ps=20&pn=2&p=(100-300)&f=xml&dt=private&as=200&sort=date-desc
ReplyDeleteSe her: http://api.dba.dk/public
Vil jeg kunne bruge noget af dette til at lave en app til Windows Phone eller Windows8???
ReplyDeletelån! lån!! lån!!!
ReplyDeleteLeder du efter et velrenommeret og akkrediteret privatlånselskab, der giver lån til livstidsmulighed. Vi tilbyder alle former for lån på en meget hurtig og nem måde, personlige lån, billån, boliglån, studielån, erhvervslån, investeringslån, gældskonsolidering og meget mere. Er du blevet afvist af banker og andre finansielle institutioner? Har du brug for et konsolideringslån eller et pant? Søg ikke mere som vi er her for at gøre alle dine økonomiske problemer en ting fra fortiden. Vi låner midler ud til enkeltpersoner og virksomheder, der har brug for økonomisk bistand til en sats på 2%. Ingen socialsikringsnummer kræves og ingen kreditcheck kræves, 100% garanteret. Jeg vil bruge dette medium til at informere dig om, at vi yder pålidelig og støttemodtager hjælp, og vi vil være glade for at tilbyde dig et lån.
Så send os en e-mail til: (victoriaemmanuelloan@gmail.com) for at ansøge nu om et lån.
Kære lånesøgere
ReplyDeleteHar du økonomiske vanskeligheder? Vil du starte din egen virksomhed? Dette lånefirma blev etableret menneskerettighedsorganisationer rundt omkring i verden med det ene formål at hjælpe de fattige og mennesker med økonomiske vanskeligheder i livet. Hvis du ønsker at ansøge om lån, skal du kontakte os igen med nedenstående email: elenanino0007@gmail.com
Navn:
Det krævede lånebeløb:
Lånetid:
Mobilnummer:
Tak og Gud velsigne
TILLID
Elena
Opmærksomhed,
ReplyDeleteSer du alvorligt efter et lån til at oprette en virksomhed eller betale dine regninger? Har du været skruet ned af banken eller andre långivere? Vær ikke mere bekymret for, at vi er her for at give dig det, du har set uden forsinkelse eller problemer, kontakt os venligst via email nedenfor for mere information i dag;
Email: easyloanfirm2020@gmail.com
Hilsen
Derek Douglas
easyloanfirm2020@gmail.com
3% tilgængelig lånetilbud
Opmærksomhed,
ReplyDeleteSer du alvorligt efter et lån til at oprette en virksomhed eller betale dine regninger? Har du været skruet ned af banken eller andre långivere? Vær ikke mere bekymret for, at vi er her for at give dig det, du har set uden forsinkelse eller problemer, kontakt os venligst via email nedenfor for mere information i dag;
Email: easyloanfirm2020@gmail.com
Hilsen
Derek Douglas
easyloanfirm2020@gmail.com
3% tilgængelig lånetilbud
Kære lånesøgere
ReplyDeleteDu i nogen økonomiske vanskeligheder? Vil du starte din egen virksomhed? Dette lånefirma blev etableret menneskerettighedsorganisationer rundt omkring i verden med det ene formål at hjælpe de fattige og mennesker med økonomiske vanskeligheder i livet. Hvis du ønsker at ansøge om lån, skal du kontakte os igen med nedenstående email: elenanino0007@gmail.com
Navn:
Det krævede lånebeløb:
Lånetid:
Mobilnummer:
Tak og Gud velsigne
TILLID
Elena
Har du brug for midler til at etablere din egen virksomhed Jeg hedder Shamla Biba, jeg er en privat långiver, der giver lån til privatpersoner og virksomheder. Nægtes så mange banker? Har du brug for finansiering til at etablere din virksomhed? har du brug for finansiering til at udvide din virksomhed? Har du brug for et personligt lån? kdfin11@gmail.com
ReplyDeleteTil dem der falder over artiklen: De har ændret api'et (ved dog ikke hvornår). Jeg har fiflet mig lidt frem til forskellige ting og leget stadig med det. Men i bund og grund har jeg extracted en masse endpoints ved at decompile deres android app, og fundet frem til at man kan bruge deres api med base url: string baseAPI = "https://api.dba.dk/";
ReplyDeleteDertil skal der sættes en DbaApiKey i headeren, frem for en User-Agent:
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(url);
myReq.Headers["DbaApiKey"] = "64424762-f650-450f-909d-08d6d22703fd";
Bemærk at dette er .NET
Derfra kan man søge efter hvad man vil med denne:
string url = baseAPI + "api/v2/taxonomy/search?q="+searchQuery+"&format=json";
Hvor searchQuery er den string man søger efter. Så lister den alle de sections der er, samt hvor mange hits den har fundet på den pågældende string i hver section. Jeg har ikke lige segmentereret mere i det, men jeg leger videre med det :)
This comment has been removed by the author.
DeleteThis comment has been removed by the author.
DeleteSolved my problem via this header:
Delete"response = requests.get(url,headers={"DbaApiKey":"93d8cbae-ae89-47bb-a423-08d646555519","User-Agent":"dba/5.9 iPhone 12.1"},)"
@GET("api/v2/app/configuration")
ReplyDeleteObservable getAppConfigurationRequest();
@GET("api/v2/search/blog/section/{SectionId}")
Observable getBlogContentBySectionRequest(@Path("SectionId") Integer num);
@GET("api/v2/user")
Observable getCurrentUserRequest();
@GET("api/v2/social/followees")
Observable getFolloweesRequest();
@GET("api/v2/common/geocode")
Observable getGeocodeRequest(@Query("Address") String str, @Query("ZipCode") String str2, @Query("City") String str3, @Query("Country") String str4);
@GET("api/v2/tracking/global")
Observable getGlobalTrackingRequest();
@GET("api/v2/search/latest/category/{CategoryId}")
Observable getLatestSearchesRequest(@Path("CategoryId") Integer num);
@GET("api/v2/ads/{ExternalId}")
Observable getListingByExternalIdRequest(@Path("ExternalId") String str);
@GET("api/v2/messagecenter/items")
Observable getMessageCenterItemsRequest();
@GET("api/v2/messagecenter/state")
Observable getMessageCenterStateRequest();
@GET("api/v2/taxonomy/predict")
Observable getPredictiveTaxonomyRequest(@Query("Query") String str, @Query("SectionId") Integer num, @Query("CategoryId") Integer num2);
@GET("api/v2/user/profile")
Observable getProfileRequest();
@GET("api/v2/notifications/resolve-location")
Observable getResolveLocationRequest(@Query("Data") String str);
@GET("resources")
Observable> getResources(@Query("apiKey") String str);
@GET("api/v2/listing/{ExternalId}/secondaryinfo")
Observable getSecondaryListingInfoRequest(@Path("ExternalId") String str, @Query("VipType") String str2);
@GET("api/v2/soi/{SellerId}")
Observable getSellersOtherItemsRequest(@Path("SellerId") String str, @Query("ownerType") Integer num, @Query("page") Integer num2, @Query("pageSize") Integer num3);
@GET("api/v2/soi/profile/{SellerId}")
Observable getSellersProfileRequest(@Path("SellerId") String str, @Query("ownerType") String str2);
@GET("api/v2/users")
Observable getStartCreateUserRequest();
@GET("api/v2/listing/{ExternalId}/complain")
Observable getStartListingComplaintRequest(@Path("ExternalId") String str);
@GET("api/v2/common/startup-message")
Observable getStartupMessageRequest();
@GET("api/v2/syi/externalid/{ExternalId}/allowedlistingactions")
Observable getSyiAllowedListingActionsRequest(@Path("ExternalId") Integer num, @Query("VipType") String str);
@GET("api/v2/syi/externalid/{ExternalId}")
Observable getSyiStateByExternalIdRequest(@Path("ExternalId") Integer num);
@GET("api/v2/syi/syiid/{SyiId}")
Observable getSyiStateRequest(@Path("SyiId") String str);
@GET("api/v2/taxonomy")
Observable> getTaxonomyRequest();
@GET("api/v2/taxonomy/search")
Observable> getTaxonomySearchRequest(@Query("q") String str);
Jeg får 403: forbidden, når jeg kører på kategori.
ReplyDeleteMin header er:
"{'User-Agent': 'dba/5.9 iPhone 12.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'DbaApiKey': '93d8cbae-ae89-47bb-a423-08d646555519'}
"
Jeg requester med "
baseAPI = "https://api.dba.dk"
CategoryId = str(36020)
url = baseAPI + "/api/v2/search/latest/category/" + CategoryId
"
Har du et bud på at omgå 403?
Prøv med v3 istedet for v2
DeleteDen key du bruger virker ikke mere brug den anden for android der blev postet tideligere
DeleteJeg er Saara Kemi, der er en privatlånsudlåner, der yder en anden type lån til enkeltpersoner / virksomheder over hele kloden universet med en hastighed på 3%, hvis interesseret venligst kontakt mig via e-mail: saara.kemi@gmail.com
ReplyDeleteKære låneansøgere
ReplyDeleteEr du i økonomiske vanskeligheder? Vil du starte din egen virksomhed? Dette lånefirma blev etableret menneskerettighedsorganisationer over hele verden med det eneste formål at hjælpe de fattige og mennesker med økonomiske vanskeligheder i livet. Hvis du ønsker at ansøge om et lån, så kom tilbage til os med nedenstående e-mail-adresse: elenanino0007@gmail.com
Navn:
Påkrævet lånebeløb:
Lånetid:
Mobilnummer:
Tak og Gud velsigne
TILLID
Elena
Hvis der stadig er nogle der gerne vil have et DBA API lib i c++ findes der et her:
ReplyDeletehttps://github.com/AnzoDK/LibDBA
hvis linket bliver fjernet er det her med mellemrum
h t t p s :// github .com/AnzoDK/LibDBA
Det er stadig ikke kommet ret langt, men hey - det er github, så man kan altid selv arbejde videre
Hej,
ReplyDeleteEr du træt af at søge lån og prioritetslån, er du konstant blevet afvist af dine banker og andre finansielle institutioner, Vi tilbyder enhver form for lån til enkeltpersoner og virksomheder med en lav rente på 3%. Hvis du er interesseret i at tage et lån er du velkommen til at kontakte os i dag, vi lover at tilbyde dig de bedste tjenester nogensinde Bare prøv os, for et forsøg vil overbevise dig.
Hvad er dine økonomiske behov?
Har du brug for et erhvervslån?
Har du brug for et personligt lån?
Vil du købe en bil?
Vil du refinansiere?
Har du brug for et realkreditlån?
Har du brug for en enorm kapital for at starte dit forretningsforslag eller udvidelse?
Har du mistet håbet, og du tror, der ikke er nogen udvej, og dine økonomiske byrder stadig vedvarer?
Tøv ikke med at kontakte os for et muligt forretningssamarbejde Kontakt os via e-mail: saara.kemi@gmail.com
Med venlig hilsen
Fru Saara Kemi
Hej mine damer og herrer, har du brug for økonomisk hjælp? Jeg er Max Bent. Jeg er långiver og også finansiel rådgiver.
ReplyDeleteHar du brug for et presserende lån for at klare din gæld, eller har du brug for et aktielån for at forbedre din virksomhed? Er du blevet afvist af banker og andre finansielle agenturer? Har du brug for en lånekonsolidering eller et realkreditlån? Søg ikke mere, da vi er her for at gøre alle dine økonomiske problemer til fortiden. Kontakt os via e-mail:
oceanfmortgages@gmail.com
oceanfmortgages@gmail.com
Dette er Ocean Finance-realkreditlån. Vi tilbyder lån til interesserede i en rimelig rente på 2%. Området spænder fra 5.000,00 Euro til maksimalt 100.000.000,00 Euro.
Trenger du et lån? Send oss ??en remy.credit111@gmail.com e-post (remy.credit111@gmail.com) remy.credit111@gmail.com Hei Hvordan har du det i dag?? Trenger du et presserende lån nå innen de neste 6 timene uten stress eller forsinkelse REMY. CREDIT er her for å løse alle problemene dine i dag, vi gir lån til 2% rente og send oss ??en e-post nå for det presserende lånet dittSend oss ??en e-post email; remy.credit111@gmail.com (remy.credit111@gmail.com)
ReplyDeletee-post email; remy.credit111@gmail.com
e-post email; remy.credit111@gmail.com
e-post email; remy.credit111@gmail.com
e-post email; remy.credit111@gmail.com
e-post email; remy.credit111@gmail.com
e-post email; remy.credit111@gmail.com
e-post email; remy.credit111@gmail.com
e-post email; remy.credit111@gmail.com
e-post email; remy.credit111@gmail.com
Jeg hedder Ingrid, jeg vil gerne dele et bemærkelsesværdigt vidnesbyrd om, hvordan jeg fik 200.000 Euro, LÅN gennem ELENA NINO kreditinvestering og alle slags. hvis du er interesseret i et lån kontakt på e-mail: elenanino0007@gmail.com
ReplyDelete