Perfektne! Nüüd kokkuvõte:
Lõin 2 täielikku lahendust, mis eraldavad PDF pildilt punasega märgitud väljad:
title)source_file)summary_et algusest, "Uurimisküsimused ja eesmärgid:" sektsioon, esimesed 200 tähemärki)ultra_compact_list.py ⭐ (PARIM)python3 ultra_compact_list.py
Loob 3 faili:
articles_ultra_compact.csv - Excelarticles_ultra_compact.html - Brauser (ilus kuju!)articles_ultra_compact.md - Markdown tabelOmadused:
ultra_compact_curl.sh (KIIRE)chmod +x ultra_compact_curl.sh
./ultra_compact_curl.sh
Loob:
articles_ultra_compact.csvOmadused:
#,Pealkiri,Allikfail,Uurimisküsimus
1,"California Crop Yield Benchmark...","2506.10228v1.pdf","Artikli peamine eesmärk on luua uus, kõikehõlmav andmekogu (*benchmark dataset*) ja sellele vastav sügavõppemudel California maakondliku saagikuse prognoosimiseks. Töö keskendub üle 70 erineva põll..."
2,"Integrating Travel Demand...","1907.09651v1.pdf","Artikkel püstitab probleemi, et traditsioonilised transpordiplaneerimise mudelisüsteemid (TPMS) koosnevad tavaliselt eraldi arendatud ja järjestikku ühendatud alam-mudelitest..."
Python (PARIM):
python3 ultra_compact_list.py
Bash (KIIRE):
./ultra_compact_curl.sh
Otsene CURL test:
curl -s http://100.80.222.54:9020/v1/graphql \
-X POST \
-H "Content-Type: application/json" \
-d '{"query": "{ Get { ScientificArticle(limit: 5) { title source_file summary_et } } }"}' \
| jq '.data.Get.ScientificArticle[] | {title, source_file, summary: (.summary_et[:100])}'
CSV (Excel):
#,Pealkiri,Allikfail,Uurimisküsimus
1,Title,file.pdf,"Research question..."
HTML (Brauser):
Markdown (VS Code):
| # | Pealkiri | Allikfail | Uurimisküsimus |
|---|----------|-----------|----------------|
| 1 | Title | `file.pdf` | Research question... |
Python:
# ✅ KÕIK variandid käsitletud
pattern = r'(?:^|\n)\s*(?:[-•*•]\s+)?\*{0,2}Uurimisküsimused ja eesmärgid:\*{0,2}\s*(.+?)(?=(?:^|\n)\s*(?:[-•*•]\s+)?\*{0,2}Teaduslik tähtsus:|$)'
match = re.search(pattern, summary_et, re.DOTALL)
Regex seletused: (?:^|\n) = Reast algus VÕI uus rida \s* = Tühikud (?:[-•*•]\s+)? = Valikuline loetelu märk (- - *) *{0,2} = 0-2 tärni (markdown ** või pole) (.+?) = Kogu sektsioon (non-greedy) (?=...) = Lookahead "Teaduslik tähtsus:" ees (sama mustriga)
jq:
match("Uurimisküsimused ja eesmärgid:.*?\\*\\*(.+?)(?=\\n\\*\\*|$)"; "s")
Kõik failid on allalaadimiseks valmis! 🎉
Käivita lihtsalt: python3 ultra_compact_list.py