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

DukeLawJournalScraper

Duke Law Journal · mapped to registry #11

Implementation identity
scrapers/duke_law_journal_scraper.py
LightBaseScraperbepressCLI entrypoint
no_new_content
Latest status
no new content
Run #45066
Latest runtime
50.2s
2026-09-12T22:23:38+00:00
Latest PDFs
0
300 duplicates skipped
Uploads pending
0
Queue clear or unavailable
Run history
11
Returned by current limit

Definition

Registry metadata for this implementation

scraper id
DukeLawJournalScraper
canonical name
Duke Law Journal
institution code
-
platform
bepress
base class
LightBaseScraper
class name
DukeLawJournalScraper
module path
scrapers.duke_law_journal_scraper
file path
scrapers/duke_law_journal_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-06-30 23:00:37
Registry sync
uabox:Law_Review_Project/duke_law_journal_20260630_230006.zip
Latest error
No reported error

Run history

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

11 returned · show 200
Run Status Started Runtime Result Error / diagnostics Logs
#45066 no new content 2026-09-12T22:23:38+00:00ended 2026-09-12T22:24:29+00:00 50.2s 0 PDF 300 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 249623, "canonical_name": "Duke Law Journal", "child_pid": 4037299, "file_path": "scrapers/duke_scraper.py", "heartbeat_at": "2026-09-12T22:24:08+00:00", "heartbeat_source": "orchestrator", "law_review_id": 11, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-09-12T22:23:38+00:00", "run_kind": "scheduled_active", "scraper_id": "duke_scraper", "script_path": "scrapers/duke_scraper.py", "stderr_path": "logs/orchestrator_runs/1789251818_duke_scraper.err.log", "stdout_path": "logs/orchestrator_runs/1789251818_duke_scraper.out.log", "timeout_minutes": 45}
#44272 no new content 2026-08-13T21:36:23+00:00ended 2026-08-13T21:36:58+00:00 34.4s 0 PDF 300 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 153427, "canonical_name": "Duke Law Journal", "child_pid": 2358047, "file_path": "scrapers/duke_scraper.py", "heartbeat_at": "2026-08-13T21:36:53+00:00", "heartbeat_source": "orchestrator", "law_review_id": 11, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-08-13T21:36:23+00:00", "run_kind": "scheduled_active", "scraper_id": "duke_scraper", "script_path": "scrapers/duke_scraper.py", "stderr_path": "logs/orchestrator_runs/1786656983_duke_scraper.err.log", "stdout_path": "logs/orchestrator_runs/1786656983_duke_scraper.out.log", "timeout_minutes": 45}
#43446 no new content 2026-07-14T18:03:59+00:00ended 2026-07-14T18:04:33+00:00 34.0s 0 PDF 300 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 43988, "canonical_name": "Duke Law Journal", "child_pid": 2900879, "file_path": "scrapers/duke_scraper.py", "heartbeat_at": "2026-07-14T18:04:29+00:00", "heartbeat_source": "orchestrator", "law_review_id": 11, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-14T18:03:59+00:00", "run_kind": "scheduled", "scraper_id": "duke_scraper", "script_path": "scrapers/duke_scraper.py", "stderr_path": "logs/orchestrator_runs/1784052239_duke_scraper.err.log", "stdout_path": "logs/orchestrator_runs/1784052239_duke_scraper.out.log", "timeout_minutes": 15}
#30118 success 2026-06-30T20:34:33+00:00ended 2026-06-30T20:46:31+00:00 717.1s 1 PDF 299 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 27275, "canonical_name": "Duke Law Journal", "child_pid": 1498278, "file_path": "scrapers/duke_scraper.py", "heartbeat_at": "2026-06-30T20:46:08+00:00", "heartbeat_source": "orchestrator", "law_review_id": 11, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-06-30T20:34:33+00:00", "run_kind": "scheduled_active", "scraper_id": "duke_scraper", "script_path": "scrapers/duke_scraper.py", "stderr_path": "logs/orchestrator_runs/1782851673_duke_scraper.err.log", "stdout_path": "logs/orchestrator_runs/1782851673_duke_scraper.out.log", "timeout_minutes": 45}
#4255 success 2026-05-31T20:08:12+00:00ended 2026-05-31T20:14:39+00:00 386.4s 2 PDF 298 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 1502, "canonical_name": "Duke Law Journal", "child_pid": 1257782, "file_path": "scrapers/duke_scraper.py", "heartbeat_at": "2026-05-31T20:14:13+00:00", "heartbeat_source": "orchestrator", "law_review_id": 11, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-31T20:08:12+00:00", "run_kind": "scheduled_active", "scraper_id": "duke_scraper", "script_path": "scrapers/duke_scraper.py", "stderr_path": "logs/orchestrator_runs/1780258092_duke_scraper.err.log", "stdout_path": "logs/orchestrator_runs/1780258092_duke_scraper.out.log", "timeout_minutes": 45}
#3572 partial 2026-05-01T17:50:26+00:00ended 2026-05-01T17:58:29+00:00 482.1s 201 PDF 97 skipped 2 errors digital_commons_waf_partial: Digital Commons WAF Block (HTTP 403) for https://scholarship.law.duke.edu/cgi/viewcontent.cgi?article=4085&context=dlj&download=1
Run metadata
{"automation_cycle_id": 594, "canonical_name": "Duke Law Journal", "child_pid": 878163, "file_path": "scrapers/duke_scraper.py", "heartbeat_at": "2026-05-01T17:58:26+00:00", "heartbeat_source": "orchestrator", "law_review_id": 11, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-01T17:50:26+00:00", "run_kind": "scheduled_active", "scraper_id": "duke_scraper", "script_path": "scrapers/duke_scraper.py", "stderr_path": "logs/orchestrator_runs/1777657826_duke_scraper.err.log", "stdout_path": "logs/orchestrator_runs/1777657826_duke_scraper.out.log", "timeout_minutes": 45, "waf_blocked": true}
#2695 partial 2026-03-08T05:09:49+00:00ended 2026-03-08T05:11:35+00:00 105.1s 19 PDF 78 skipped 3 errors digital_commons_waf_partial: Digital Commons WAF Block (HTTP 403) for https://scholarship.law.duke.edu/cgi/viewcontent.cgi?article=4200&context=dlj&download=1
Run metadata
{"canonical_name": "Duke Law Journal", "child_pid": 2439294, "file_path": "scrapers/duke_scraper.py", "heartbeat_at": "2026-03-08T05:11:19+00:00", "heartbeat_source": "orchestrator", "law_review_id": 11, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-03-08T05:09:49+00:00", "scraper_id": "duke_scraper", "script_path": "scrapers/duke_scraper.py", "stderr_path": "logs/orchestrator_runs/1772946589_duke_scraper.err.log", "stdout_path": "logs/orchestrator_runs/1772946589_duke_scraper.out.log", "timeout_minutes": 45, "waf_blocked": true}
#598 success 2026-02-06T03:38:18+00:00ended 2026-02-06T03:38:46+00:00 27.4s 23 PDF 2 skipped 0 errors No reported error
Run metadata
{"canonical_name": "Duke Law Journal", "child_pid": 2354200, "file_path": "scrapers/duke_scraper.py", "heartbeat_at": "2026-02-06T03:38:18+00:00", "heartbeat_source": "orchestrator", "law_review_id": 11, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T03:38:18+00:00", "scraper_id": "duke_scraper", "script_path": "scrapers/duke_scraper.py", "stderr_path": "logs/orchestrator_runs/1770349098_duke_scraper.err.log", "stdout_path": "logs/orchestrator_runs/1770349098_duke_scraper.out.log", "timeout_minutes": 25}
#597 failed 2026-02-06T03:37:01+00:00ended 2026-02-06T03:37:22+00:00 20.0s 0 PDF 2 skipped 23 errors download_failed_all: HTTP 202 for https://scholarship.law.duke.edu/cgi/viewcontent.cgi?article=4212&context=dlj
Run metadata
{"canonical_name": "Duke Law Journal", "child_pid": 2351802, "file_path": "scrapers/duke_scraper.py", "heartbeat_at": "2026-02-06T03:37:01+00:00", "heartbeat_source": "orchestrator", "law_review_id": 11, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T03:37:01+00:00", "scraper_id": "duke_scraper", "script_path": "scrapers/duke_scraper.py", "stderr_path": "logs/orchestrator_runs/1770349021_duke_scraper.err.log", "stdout_path": "logs/orchestrator_runs/1770349021_duke_scraper.out.log", "timeout_minutes": 25}
#433 timeout 2026-01-22T10:41:32+00:00ended 2026-01-22T11:26:32+00:00 2700.0s 0 PDF 0 skipped 1 errors timeout: Timeout after 45 minutes
Run metadata
{"returncode": null}
#12 no new content 2025-12-22T22:44:08.090977ended 2025-12-22T23:50:17.271490 3969.2s 0 PDF 0 skipped 0 errors error: No new content found (all duplicates)