Est. MMXXV · lrscraper The Law Review Reporter Live

A continuous record of the open collection of American legal scholarship

Vol. II Wednesday, September 23, 2026 № 266

Scraper implementation

StJohnsLawReviewScraper

St. John's Law Review · mapped to registry #165

Implementation identity
scrapers/stjohns_scraper.py
LightBaseScraperbepressCLI entrypoint
no_new_content
Latest status
no new content
Run #45216
Latest runtime
103.5s
2026-09-13T02:06:45+00:00
Latest PDFs
0
244 duplicates skipped
Uploads pending
0
Queue clear or unavailable
Run history
10
Returned by current limit

Definition

Registry metadata for this implementation

scraper id
StJohnsLawReviewScraper
canonical name
St. John's Law Review
institution code
-
platform
bepress
base class
LightBaseScraper
class name
StJohnsLawReviewScraper
module path
scrapers.stjohns_scraper
file path
scrapers/stjohns_scraper.py
has cli entrypoint
true
is abstract
false
updated at
2026-09-23 23:32:46

Operational mapping

Law review ownership and publication state

Registry health
HEALTHY
Last uploaded
2026-09-12 13:37:48
Registry sync
uabox:Law_Review_Project/st_johns_law_review_20260912_132152.zip
Latest error
No reported error

Run history

Runs associated with law review #165; diagnostics expand in place.

10 returned · show 200
Run Status Started Runtime Result Error / diagnostics Logs
#45216 no new content 2026-09-13T02:06:45+00:00ended 2026-09-13T02:08:29+00:00 103.5s 0 PDF 244 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 249915, "canonical_name": "St. John's Law Review", "child_pid": 191728, "download_queue": {"due": 0, "pending": 0, "retries": 0, "scope": "StJohnsLawReviewScraper:St. John's Law Review", "waiting": 0}, "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-09-13T02:08:15+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-09-13T02:06:45+00:00", "run_kind": "scheduled_active", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1789265205_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1789265205_StJohnsLawReviewScraper.out.log", "timeout_minutes": 45}
#44410 success 2026-08-13T22:30:56+00:00ended 2026-08-13T22:31:52+00:00 56.2s 16 PDF 228 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 153587, "canonical_name": "St. John's Law Review", "child_pid": 2437687, "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-08-13T22:31:26+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-08-13T22:30:56+00:00", "run_kind": "scheduled_active", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1786660256_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1786660256_StJohnsLawReviewScraper.out.log", "timeout_minutes": 45}
#43612 no new content 2026-07-14T18:20:05+00:00ended 2026-07-14T18:20:47+00:00 41.2s 0 PDF 241 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 43988, "canonical_name": "St. John's Law Review", "child_pid": 2935945, "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-07-14T18:20:35+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-14T18:20:05+00:00", "run_kind": "scheduled", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1784053205_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1784053205_StJohnsLawReviewScraper.out.log", "timeout_minutes": 15}
#30987 partial 2026-07-01T22:07:53+00:00ended 2026-07-01T22:51:54+00:00 2640.7s 0 PDF 237 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 28057, "canonical_name": "St. John's Law Review", "child_pid": 3463852, "cutoff": true, "cutoff_elapsed_seconds": 2640, "cutoff_max_runtime_seconds": 2640, "cutoff_reason": "max_runtime_seconds", "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-07-01T22:51:49+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-01T22:07:53+00:00", "run_kind": "scheduled_active", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1782943673_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1782943673_StJohnsLawReviewScraper.out.log", "timeout_minutes": 45}
#4377 no new content 2026-06-01T16:25:23+00:00ended 2026-06-01T16:26:05+00:00 41.9s 0 PDF 241 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 1520, "canonical_name": "St. John's Law Review", "child_pid": 58563, "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-06-01T16:25:53+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-06-01T16:25:23+00:00", "run_kind": "scheduled_active", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1780331123_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1780331123_StJohnsLawReviewScraper.out.log", "timeout_minutes": 45}
#3702 no new content 2026-05-01T19:54:47+00:00ended 2026-05-01T19:55:33+00:00 46.3s 0 PDF 241 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 609, "canonical_name": "St. John's Law Review", "child_pid": 990625, "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-05-01T19:55:17+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-01T19:54:47+00:00", "run_kind": "scheduled_active", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1777665287_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1777665287_StJohnsLawReviewScraper.out.log", "timeout_minutes": 45}
#2862 success 2026-03-08T19:23:39+00:00ended 2026-03-08T19:24:53+00:00 74.7s 12 PDF 229 skipped 0 errors No reported error
Run metadata
{"canonical_name": "St. John's Law Review", "child_pid": 2936362, "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-03-08T19:24:39+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-03-08T19:23:39+00:00", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1772997819_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1772997819_StJohnsLawReviewScraper.out.log", "timeout_minutes": 45}
#959 success 2026-02-06T18:56:02+00:00ended 2026-02-06T18:56:25+00:00 23.1s 6 PDF 24 skipped 0 errors No reported error
Run metadata
{"canonical_name": "St. John's Law Review", "child_pid": 4079233, "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-02-06T18:56:02+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T18:56:02+00:00", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1770404162_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770404162_StJohnsLawReviewScraper.out.log", "timeout_minutes": 30}
#955 partial 2026-02-06T18:34:32+00:00ended 2026-02-06T18:36:05+00:00 92.7s 24 PDF 0 skipped 6 errors partial_download_errors: HTTP 403 for https://scholarship.law.stjohns.edu/cgi/viewcontent.cgi?article=7334&context=lawreview (fallback UA)
Run metadata
{"canonical_name": "St. John's Law Review", "child_pid": 4041795, "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-02-06T18:36:02+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T18:34:32+00:00", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1770402872_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770402872_StJohnsLawReviewScraper.out.log", "timeout_minutes": 30}
#952 failed 2026-02-06T18:32:54+00:00ended 2026-02-06T18:32:55+00:00 0.7s 0 PDF 0 skipped 0 errors error: unbalanced parenthesis at position 20
Traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 672, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/stjohns_scraper.py", line 81, in discover_urls
    for entry in self._parse_issue_items(issue_html, issue_meta):
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/stjohns_scraper.py", line 181, in _parse_issue_items
    title = _clean_title(
            ^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/stjohns_scraper.py", line 314, in _clean_title
    text = re.sub(r"\(\s*\d+\\s*kb\\s*\\)$", "", text, flags=re.IGNORECASE).strip()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/re/__init__.py", line 185, in sub
    return _compile(pattern, flags).sub(repl, string, count)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/re/__init__.py", line 294, in _compile
    p = _compiler.compile(pattern, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/re/_compiler.py", line 743, in compile
    p = _parser.parse(p, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/re/_parser.py", line 987, in parse
    raise source.error("unbalanced parenthesis")
re.error: unbalanced parenthesis at position 20
Run metadata
{"canonical_name": "St. John's Law Review", "child_pid": 4038783, "file_path": "scrapers/stjohns_scraper.py", "heartbeat_at": "2026-02-06T18:32:54+00:00", "heartbeat_source": "orchestrator", "law_review_id": 165, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T18:32:54+00:00", "scraper_id": "StJohnsLawReviewScraper", "script_path": "scrapers/stjohns_scraper.py", "stderr_path": "logs/orchestrator_runs/1770402774_StJohnsLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770402774_StJohnsLawReviewScraper.out.log", "timeout_minutes": 30}