DenverScraper

Denver Law Review
maps to Denver Law Review (id 75)
Latest Status
no_new_content #4284
Latest Metrics
d=0  |  skip=300  |  err=0
t=709.9s
Implementation
LightBaseScraper
bepress
Law Review
Uploads Pending
0
Last Upload
2026-05-01 19:22:52
uabox:Law_Review_Project/denver_law_review_20260501_192232.zip

Definition

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
discovered_at
2026-03-30 20:11:12
updated_at
2026-06-17 04:45:35

Run History

Showing 6 runs (law_review_id=75) — use ?limit=200 for more.
Run Status Start End Runtime Metrics Error / Details Logs
#4284 no_new_content 2026-05-31T21:03:18+00:00 2026-05-31T21:15:08+00:00 709.9s d=0  |  skip=300  |  err=0
discovered=300  |  processed=300
-
extra_json
{"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}
stdout | stderr
#3600 success 2026-05-01T18:08:27+00:00 2026-05-01T18:10:35+00:00 128.1s d=52  |  skip=248  |  err=0
discovered=300  |  processed=300
-
extra_json
{"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}
stdout | stderr
#2732 partial 2026-03-08T11:38:41+00:00 2026-03-08T11:43:13+00:00 271.7s d=152  |  skip=147  |  err=1
discovered=300  |  processed=300
digital_commons_waf_partial: Digital Commons WAF Block (HTTP 403) for https://digitalcommons.du.edu/cgi/viewcontent.cgi?article=7331&context=dlr&download=1
extra_json
{"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}
stdout | stderr
#684 success 2026-02-06T07:36:52+00:00 2026-02-06T07:37:18+00:00 25.4s d=12  |  skip=38  |  err=0
discovered=50  |  processed=50
-
extra_json
{"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}
stdout | stderr
#680 failed 2026-02-06T07:26:04+00:00 2026-02-06T07:34:31+00:00 506.5s d=0  |  skip=0  |  err=1
discovered=-  |  processed=-
process_exit_-15: Process exited with code -15
extra_json
{"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}
stdout | stderr
#220 failed 2026-01-19T02:36:06+00:00 2026-01-19T02:37:44+00:00 98.1s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
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'
extra_json
{"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}
stdout | stderr

Runs (scraper_name = DenverScraper)

These are runs recorded explicitly under this scraper_id.
Run Status Start End Runtime Metrics Error / Details Logs
#4284 no_new_content 2026-05-31T21:03:18+00:00 2026-05-31T21:15:08+00:00 709.9s d=0  |  skip=300  |  err=0
discovered=300  |  processed=300
-
extra_json
{"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}
stdout | stderr
#3600 success 2026-05-01T18:08:27+00:00 2026-05-01T18:10:35+00:00 128.1s d=52  |  skip=248  |  err=0
discovered=300  |  processed=300
-
extra_json
{"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}
stdout | stderr
#2732 partial 2026-03-08T11:38:41+00:00 2026-03-08T11:43:13+00:00 271.7s d=152  |  skip=147  |  err=1
discovered=300  |  processed=300
digital_commons_waf_partial: Digital Commons WAF Block (HTTP 403) for https://digitalcommons.du.edu/cgi/viewcontent.cgi?article=7331&context=dlr&download=1
extra_json
{"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}
stdout | stderr
#684 success 2026-02-06T07:36:52+00:00 2026-02-06T07:37:18+00:00 25.4s d=12  |  skip=38  |  err=0
discovered=50  |  processed=50
-
extra_json
{"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}
stdout | stderr
#680 failed 2026-02-06T07:26:04+00:00 2026-02-06T07:34:31+00:00 506.5s d=0  |  skip=0  |  err=1
discovered=-  |  processed=-
process_exit_-15: Process exited with code -15
extra_json
{"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}
stdout | stderr
#220 failed 2026-01-19T02:36:06+00:00 2026-01-19T02:37:44+00:00 98.1s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
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'
extra_json
{"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}
stdout | stderr