Est. MMXXV · lrscraper The Law Review Reporter Live

A continuous record of the open collection of American legal scholarship

Vol. II Tuesday, September 22, 2026 № 265

Scraper implementation

DenverScraper

Denver Law Review · mapped to registry #75

Implementation identity
scrapers/denver_scraper.py
LightBaseScraperbepressCLI entrypoint
no_new_content
Latest status
no new content
Run #45059
Latest runtime
59.7s
2026-09-12T22:19:48+00:00
Latest PDFs
0
300 duplicates skipped
Uploads pending
0
Queue clear or unavailable
Run history
10
Returned by current limit

Definition

Registry metadata for this implementation

scraper id
DenverScraper
canonical name
Denver Law Review
institution code
-
platform
bepress
base class
LightBaseScraper
class name
DenverScraper
module path
scrapers.denver_scraper
file path
scrapers/denver_scraper.py
has cli entrypoint
true
is abstract
false
updated at
2026-09-22 17:32:34

Operational mapping

Law review ownership and publication state

Registry health
HEALTHY
Last uploaded
2026-05-01 19:22:52
Registry sync
uabox:Law_Review_Project/denver_law_review_20260501_192232.zip
Latest error
No reported error

Run history

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

10 returned · show 200
Run Status Started Runtime Result Error / diagnostics Logs
#45059 no new content 2026-09-12T22:19:48+00:00ended 2026-09-12T22:20:48+00:00 59.7s 0 PDF 300 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 249616, "canonical_name": "Denver Law Review", "child_pid": 4031260, "file_path": "scrapers/denver_scraper.py", "heartbeat_at": "2026-09-12T22:20:18+00:00", "heartbeat_source": "orchestrator", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-09-12T22:19:48+00:00", "run_kind": "scheduled_active", "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1789251588_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1789251588_DenverScraper.out.log", "timeout_minutes": 45}
#44271 no new content 2026-08-13T21:32:39+00:00ended 2026-08-13T21:33:13+00:00 34.4s 0 PDF 300 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 153413, "canonical_name": "Denver Law Review", "child_pid": 2353429, "file_path": "scrapers/denver_scraper.py", "heartbeat_at": "2026-08-13T21:33:09+00:00", "heartbeat_source": "orchestrator", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-08-13T21:32:39+00:00", "run_kind": "scheduled_active", "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1786656759_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1786656759_DenverScraper.out.log", "timeout_minutes": 45}
#43441 no new content 2026-07-14T18:03:24+00:00ended 2026-07-14T18:03:58+00:00 34.4s 0 PDF 300 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 43988, "canonical_name": "Denver Law Review", "child_pid": 2900348, "file_path": "scrapers/denver_scraper.py", "heartbeat_at": "2026-07-14T18:03:54+00:00", "heartbeat_source": "orchestrator", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-14T18:03:24+00:00", "run_kind": "scheduled", "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1784052204_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1784052204_DenverScraper.out.log", "timeout_minutes": 15}
#30146 no new content 2026-06-30T22:20:49+00:00ended 2026-06-30T22:42:43+00:00 1313.8s 0 PDF 300 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 27280, "canonical_name": "Denver Law Review", "child_pid": 1636404, "file_path": "scrapers/denver_scraper.py", "heartbeat_at": "2026-06-30T22:42:20+00:00", "heartbeat_source": "orchestrator", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-06-30T22:20:49+00:00", "run_kind": "scheduled_active", "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1782858049_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1782858049_DenverScraper.out.log", "timeout_minutes": 45}
#4284 no new content 2026-05-31T21:03:18+00:00ended 2026-05-31T21:15:08+00:00 709.9s 0 PDF 300 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 1506, "canonical_name": "Denver Law Review", "child_pid": 1276744, "file_path": "scrapers/denver_scraper.py", "heartbeat_at": "2026-05-31T21:14:49+00:00", "heartbeat_source": "orchestrator", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-31T21:03:18+00:00", "run_kind": "scheduled_active", "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1780261398_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1780261398_DenverScraper.out.log", "timeout_minutes": 45}
#3600 success 2026-05-01T18:08:27+00:00ended 2026-05-01T18:10:35+00:00 128.1s 52 PDF 248 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 597, "canonical_name": "Denver Law Review", "child_pid": 898658, "file_path": "scrapers/denver_scraper.py", "heartbeat_at": "2026-05-01T18:10:27+00:00", "heartbeat_source": "orchestrator", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-01T18:08:27+00:00", "run_kind": "scheduled_active", "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1777658907_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1777658907_DenverScraper.out.log", "timeout_minutes": 45}
#2732 partial 2026-03-08T11:38:41+00:00ended 2026-03-08T11:43:13+00:00 271.7s 152 PDF 147 skipped 1 errors digital_commons_waf_partial: Digital Commons WAF Block (HTTP 403) for https://digitalcommons.du.edu/cgi/viewcontent.cgi?article=7331&context=dlr&download=1
Run metadata
{"canonical_name": "Denver Law Review", "child_pid": 2661591, "file_path": "scrapers/denver_scraper.py", "heartbeat_at": "2026-03-08T11:43:11+00:00", "heartbeat_source": "orchestrator", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-03-08T11:38:41+00:00", "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1772969921_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1772969921_DenverScraper.out.log", "timeout_minutes": 45, "waf_blocked": true}
#684 success 2026-02-06T07:36:52+00:00ended 2026-02-06T07:37:18+00:00 25.4s 12 PDF 38 skipped 0 errors No reported error
Run metadata
{"canonical_name": "Denver Law Review", "child_pid": 2877658, "file_path": "scrapers/denver_scraper.py", "heartbeat_at": "2026-02-06T07:36:52+00:00", "heartbeat_source": "orchestrator", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T07:36:52+00:00", "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1770363412_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770363412_DenverScraper.out.log", "timeout_minutes": 20}
#680 failed 2026-02-06T07:26:04+00:00ended 2026-02-06T07:34:31+00:00 506.5s 0 PDF 0 skipped 1 errors process_exit_-15: Process exited with code -15
Run metadata
{"canonical_name": "Denver Law Review", "child_pid": 2858507, "file_path": "scrapers/denver_scraper.py", "heartbeat_at": "2026-02-06T07:34:04+00:00", "heartbeat_source": "orchestrator", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T07:26:04+00:00", "returncode": -15, "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1770362764_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770362764_DenverScraper.out.log", "timeout_minutes": 25}
#220 failed 2026-01-19T02:36:06+00:00ended 2026-01-19T02:37:44+00:00 98.1s 0 PDF 0 skipped 0 errors OSError: [Errno 36] File name too long: 'downloads/denver_law_review/denver_law_review_vol81_iss2_2003_workers_compensation_and_vocational_rehabilitation_benefits_for_undocumented_workers_reconciling_the_purported_conflicts_between_state_law_federal_immigration_law_and_equal_protection_to_prevent_the_creation_of_a_disposable_workforce.pdf'
Traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 256, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/denver_scraper.py", line 76, in discover_urls
    if self.check_global_duplicate(filename, pdf_url, metadata=metadata):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 109, in check_global_duplicate
    if file_path.exists():
       ^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/pathlib.py", line 1235, in exists
    self.stat()
  File "/home/arbel/miniconda3/lib/python3.11/pathlib.py", line 1013, in stat
    return os.stat(self, follow_symlinks=follow_symlinks)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 36] File name too long: 'downloads/denver_law_review/denver_law_review_vol81_iss2_2003_workers_compensation_and_vocational_rehabilitation_benefits_for_undocumented_workers_reconciling_the_purported_conflicts_between_state_law_federal_immigration_law_and_equal_protection_to_prevent_the_creation_of_a_disposable_workforce.pdf'
Run metadata
{"canonical_name": "Denver Law Review", "file_path": "scrapers/denver_scraper.py", "law_review_id": 75, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-01-19T02:36:06+00:00", "scraper_id": "DenverScraper", "script_path": "scrapers/denver_scraper.py", "stderr_path": "logs/orchestrator_runs/1768790166_DenverScraper.err.log", "stdout_path": "logs/orchestrator_runs/1768790166_DenverScraper.out.log", "timeout_minutes": 45}