Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maximum size = 100 for job-seach ? #23

Open
behnamfani opened this issue Mar 22, 2022 · 3 comments
Open

Maximum size = 100 for job-seach ? #23

behnamfani opened this issue Mar 22, 2022 · 3 comments

Comments

@behnamfani
Copy link

Hallo,

Ich habe eine Frage bezüglich der Größe (Anzahl) der Stellenanzeigen, wenn ich eine job_search Anfrage stelle. Ich habe verschiedene Versuche unternommen und gehe davon aus, dass die maximale Anzahl der zurückgegebenen Stellenanzeigen bei 100 liegt. Könnten Sie mir bitte sagen, ob ich richtig liege? Und wie kann ich die maximale Anzahl von Stellenanzeigen an verschiedenen Orten erfahren?

Ich danke Ihnen,
Mit freundlichen Grüßen,

@maltegrosse
Copy link

Allgemein sind die Fehlermeldungen 400 Bad Request EINGABEPARAMETER_FEHLERHAFT nicht besonders hilfreich.

Eine etwas merkwürdige Logik habe ich jedoch zu diesem Thema herausgefunden.
size x page <=10.000 && size <= 100
D.h falls mind. 10.000 Ergebnisse existieren (sonst Error 400), können maximal 10.000 Einträge abgerufen werden, indem man den parameter size oder page anpasst. page=400, size=25. , wobei size <=100 sein muss (sonst Error 400)

Dies betrifft auch Issue #14 #12

Beispiel:
Browser Query auf https://www.arbeitsagentur.de/jobsuche/suche?veroeffentlichtseit=14&angebotsart=1&wo=Stuttgart&umkreis=100 über das Portal ergeben ca 54.000 Ergebnisse.

HTTP Get page 1-400 auf https://rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v4/jobs?angebotsart=1&wo=Stuttgart&umkreis=200&sort=veroeffdatum&page=400&size=25&pav=false mit size 25 zeigen mir die ersten 10.000 Stellen an. Sobald ich auf page = 401 gehen möchte, kommt Error 400. Verringere ich die size auf zB 20, kann die page Zahl auf >400 erhöht werden, zB https://rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v4/jobs?angebotsart=1&wo=Stuttgart&umkreis=200&sort=veroeffdatum&page=401&size=20&pav=false, das heißt es gibt kein limit bei dem page Wert. (was ja auch korrekt ist)

Da die Website auf der Rest-Schnittstelle beruht, habe ich es dort auch getestet und komme zum selben Ergebnis:

aa-max10000
https://www.arbeitsagentur.de/jobsuche/suche?veroeffentlichtseit=14&angebotsart=1&wo=Stuttgart&umkreis=100&page=400

Meine Frage an die API Enwickler ist nun, wie bekomme ich Einträge >10.000 angezeigt. (In meinem Beispiel die 44.000 fehlenden Stellen).

Da der Filter 'veroeffentlichtseit' nicht funktioniert, siehe #34 , habe ich keine Möglichkeit ältere Daten abzurufen.

Ein sehr umständlicher Workaround wäre, viele Standorte(alle PLZ) mit kleinem Radius (oder sogar 0) zu nehmen, sodass ich nie mehr als 10.000 Ergebnisse bekomme. (Was in Ballungsgebieten etwas schwierig sein kann)

@Drezil
Copy link

Drezil commented Nov 16, 2022

@maltegrosse Hast du mitlerweile nen workaround gefunden oder größere dumps herumliegen? Ich hätte gerne nen größeren dump für ML-Experimente und würde im zweifel halt einfach crawlen. Aber das könnte ich mir sparen, wenn man das auch anders bekommen kann ;)

@maltegrosse
Copy link

maltegrosse commented Nov 16, 2022

@Drezil Nein, leider habe ich keine aktuellen Dump herumliegen. Es wird auch einige Zeit dauern bis du alle PLZ gescrabed hast.
Also was ich jetzt mache:

  • Lese eine PLZ csv von DE
  • Lege mir eine PLZ Range fest (zB 70000-80000)
  • iteriere über die Range
  • Mach eine Query mit Radius 0 für die PLZ und hoffe das es nicht mehr als 10k einträge gibt.
  • Iteriere über die Ergebnisse um die Ref Nr. zu bekommen
  • Rufe für jedes Ergebnis die Detailseite auf.

Weitere Hinweise

  • Prüfe ob Token expired: max 59min
  • Nicht zuschnell auf die API feuern, sonst wirst du kurzzeitig blockiert.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants