tools/mgu.py: MGU Scientific Library search (GET-discovery, fields/methods/pagination, ISB dead, SER goldmine); AGENTS.md source 22 + Google low-volume warning

This commit is contained in:
Dmitry Kokorin 2026-09-16 09:59:32 +03:00
parent 4feff7a0f7
commit 868fa9268a
3 changed files with 146 additions and 0 deletions

View file

@ -139,6 +139,10 @@ sections/0N-<name>/ # one .md per BOOK (chapter-level list items are merged int
- `books.google.com/books?vid=ISBN<13digits>`: **plain curl works** — 200 + `<title>"T - A -
Google Книги"` if indexed, 404 if not. Good ISBN validator incl. RU (АСТ/Эксмо/БукСМарт hit;
small-press 404). googleapis.com/books API stays 429 without a key.
- **Keep volume LOW**: Google may block agents on sustained querying (user warning 2026-07-15).
Budget: a few dozen requests per session, 2–5s random pauses, never in tight loops; treat as
an auxiliary cross-check, not a bulk source. If 429/403-redirect walls appear — stop and fall
back to OL/libgen/RSL.
- `fetch_content` on the same URL → richer metadata: full author/editor names, edition, series.
Resolved Ottmann=Klaus, Goldstein=Ralph, Brutsche=Paul, Elder=George, Moon=Beverly,
Killick=Katherine, Pennington/Staples, Rowland=Susan, Bolander=Karen, Acton=Mary via this or OL.
@ -213,6 +217,20 @@ sections/0N-<name>/ # one .md per BOOK (chapter-level list items are merged int
- **isbnsearch.org**: nice per-ISBN pages (author/publisher/year) but rate-walls after ~10
requests ("Please Verify to Continue", no recovery in 7 min) — not for batches.
### 22. MGU Scientific Library (nbmgu.ru) — server-rendered, curl-able (2026-07-15)
- Tool: `tools/mgu.py "query" [FIELD] [pages] [method]` or `--multi "AUT:X" "TIT:Y"`.
The "JS" advanced search is a plain GET: `/search/?adv=1&q1=<q>&f1=<F>&v1=<M>&cat=BOOK[&p=N]`.
- Fields: ANY/AUT/COA/TIT/KEY/RUB/YEA/PLA/PUB/SER/ISB/ISS/NBM; rows AND between q1..q3.
Method v: 0=Слова (stemming, default) · 1=Словосочетание · 2=Начинается с · 3=Дословно.
- "Всего: N" + GOST row (title/authors/notes) + "City : Publisher, Year" + shelf code + uid link.
20 rows/page, p=0-based; **out-of-range p silently falls back to page 0** (dedupe by uid!).
- **ISB field NOT populated** (0 hits, 3 formats × control ISBNs) — no ISBN search; use
AUT/TIT/SER/PUB. `storing.aspx?uid=` page = holdings/order only (no full record).
- Value: second RU catalog (complements RSL/РНБ), strong **SER** sweep (e.g. «Библиотека
аналитической психологии» → full series list in one query), GOST rows w/ translators.
- Anchor titles in result rows contain a raw `>` (title="Хранение<br/>Заказ") — regexes must
not use [^>]+ across the anchor attrs.
## Not usable / low value
- libgen biblioservice worldcat/googlebooks/isbndb/udc (broken on this mirror)
- imaton.com (МААП educational publisher, not translations)