[Tustep-Liste] Was tun, wenn mit Hilfe von REQUEST aus dem Netz gezogene Sätze länger sind als 64000 Zeichen?

luckscheiter luckscheiter at bbaw.de
Mi Nov 10 09:52:40 CET 2021


Liebe Listenleserinnen und -leser,

mit einem kleinen Progämmchen versuche ich, Informationen zu Personen 
aus der Korrespondenten-Datenbank des Hannoveraner Leibniz-Archvis zu 
ziehen. Bei vielen funktioniert das auch, nur bei wenigen werden die 
abgerufenen Sätze länger als 64000 Zeichen und lassen sich nicht 
weiterverarbeiten.

Der Code-Schnippsel unten gibt für id=140 ganz richtig "Brinon, Marie 
de" aus, anstatt für id=141 aber "Brosseau, Christophe" zu drucken, wird 
gemeldet:

>>>> Programmabbruch. END2. length > 64000.

Weiß jemand, was hier zu tun ist?

Mit besten Grüßen,
Stefan Luckscheiter

$$!
$$MODE TUSCRIPT, {}
- Liste mit Ids definieren
IDs =*
    DATA 140
    DATA 141

- über die Liste loopen
LOOP id= IDs
    SET adresse = CONCAT 
("https://leibniz.uni-goettingen.de/persons/view/", id)
    SET antw = REQUEST (adresse)
    SET antw = DECODE (antw, UTF8)

- Namen aus der Antwort extrahieren
    LOOP port = antw
       IF (port .CT. ":hauptansetzung:") THEN
          SET name = STRINGS (port, ":\Name*:")
          SET name = STRINGS (name, ":value*</div:")
          SET name = EXTRACT (name, 8,-5)
        ENDIF
    ENDLOOP
- Namen auf der Konsole ausgeben
      PRINT name
ENDLOOP


Mehr Informationen über die Mailingliste Tustep-Liste