UCDavisLawReviewScraper

UC Davis Law Review
maps to UC Davis Law Review (id 26)
Latest Status
no_new_content #4299
Latest Metrics
d=0  |  skip=120  |  err=0
t=106.6s
Implementation
LightBaseScraper
-
Law Review
Uploads Pending
0
Last Upload
2026-05-01 21:03:22
uabox:Law_Review_Project/uc_davis_law_review_20260501_210307.zip

Definition

scraper_id
UCDavisLawReviewScraper
canonical_name
UC Davis Law Review
institution_code
-
platform
-
base_class
LightBaseScraper
class_name
UCDavisLawReviewScraper
module_path
scrapers.uc_davis_law_review_scraper
file_path
scrapers/uc_davis_law_review_scraper.py
has_cli_entrypoint
true
is_abstract
false
discovered_at
2026-03-30 20:11:12
updated_at
2026-06-17 03:35:43

Run History

Showing 10 runs (law_review_id=26) — use ?limit=200 for more.
Run Status Start End Runtime Metrics Error / Details Logs
#4299 no_new_content 2026-06-01T15:17:04+00:00 2026-06-01T15:18:51+00:00 106.6s d=0  |  skip=120  |  err=0
discovered=120  |  processed=120
-
extra_json
{"automation_cycle_id": 1512, "canonical_name": "UC Davis Law Review", "child_pid": 5421, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-06-01T15:18:34+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-06-01T15:17:04+00:00", "run_kind": "scheduled_active", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1780327024_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1780327024_UCDavisLawReviewScraper.out.log", "timeout_minutes": 45}
stdout | stderr
#3620 success 2026-05-01T18:34:53+00:00 2026-05-01T18:36:59+00:00 126.0s d=10  |  skip=110  |  err=0
discovered=120  |  processed=120
-
extra_json
{"automation_cycle_id": 600, "canonical_name": "UC Davis Law Review", "child_pid": 921672, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-05-01T18:36:53+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-01T18:34:53+00:00", "run_kind": "scheduled_active", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1777660493_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1777660493_UCDavisLawReviewScraper.out.log", "timeout_minutes": 45}
stdout | stderr
#2759 success 2026-03-08T12:06:18+00:00 2026-03-08T12:08:11+00:00 113.1s d=9  |  skip=101  |  err=0
discovered=110  |  processed=110
-
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 2681507, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-03-08T12:07:48+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-03-08T12:06:18+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1772971578_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1772971578_UCDavisLawReviewScraper.out.log", "timeout_minutes": 45}
stdout | stderr
#755 success 2026-02-06T10:59:23+00:00 2026-02-06T11:00:04+00:00 41.0s d=13  |  skip=17  |  err=0
discovered=30  |  processed=30
-
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 3234257, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T10:59:53+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T10:59:23+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770375563_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770375563_UCDavisLawReviewScraper.out.log", "timeout_minutes": 18}
stdout | stderr
#754 failed 2026-02-06T10:58:40+00:00 2026-02-06T10:58:40+00:00 0.2s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
AttributeError: 'str' object has no attribute 'get'
traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 661, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 50, in discover_urls
    html = await self._fetch_html(self.archives_url)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 158, in _fetch_html
    return await asyncio.to_thread(_task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/asyncio/threads.py", line 25, in to_thread
    return await loop.run_in_executor(None, func_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 134, in _task
    server = str(getattr(resp, "headers", {}) or {}).get("server", "") or ""
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 3232944, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T10:58:40+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T10:58:40+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770375520_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770375520_UCDavisLawReviewScraper.out.log", "timeout_minutes": 18}
stdout | stderr
#633 failed 2026-02-06T05:21:28+00:00 2026-02-06T05:21:28+00:00 0.2s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
RuntimeError: Blocked by Cloudflare bot protection (HTTP 403) at https://lawreview.law.ucdavis.edu/archives
traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 514, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 44, in discover_urls
    html = await self._fetch_html(self.archives_url)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 169, in _fetch_html
    raise RuntimeError(
RuntimeError: Blocked by Cloudflare bot protection (HTTP 403) at https://lawreview.law.ucdavis.edu/archives
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 2546542, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T05:21:28+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T05:21:28+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770355288_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770355288_UCDavisLawReviewScraper.out.log", "timeout_minutes": 15}
stdout | stderr
#632 no_items 2026-02-06T05:21:00+00:00 2026-02-06T05:21:00+00:00 0.2s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
-
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 2545673, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T05:21:00+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T05:21:00+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770355260_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770355260_UCDavisLawReviewScraper.out.log", "timeout_minutes": 15}
stdout | stderr
#631 no_items 2026-02-06T05:19:35+00:00 2026-02-06T05:19:36+00:00 0.3s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
-
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 2543054, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T05:19:35+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T05:19:35+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770355175_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770355175_UCDavisLawReviewScraper.out.log", "timeout_minutes": 15}
stdout | stderr
#349 no_items 2026-01-22T03:59:42+00:00 2026-01-22T03:59:42+00:00 0.1s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
-
extra_json
{"canonical_name": "UC Davis Law Review", "file_path": "scrapers/uc_davis_law_review_scraper.py", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-01-22T03:59:42+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1769054382_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1769054382_UCDavisLawReviewScraper.out.log", "timeout_minutes": 45}
stdout | stderr
#20 no_new_content 2025-12-22T21:30:54.265981 2025-12-22T21:30:54.525383 0.3s d=0  |  skip=0  |  err=0
discovered=-  |  processed=-
error: No new content found (all duplicates) -

Runs (scraper_name = UCDavisLawReviewScraper)

These are runs recorded explicitly under this scraper_id.
Run Status Start End Runtime Metrics Error / Details Logs
#4299 no_new_content 2026-06-01T15:17:04+00:00 2026-06-01T15:18:51+00:00 106.6s d=0  |  skip=120  |  err=0
discovered=120  |  processed=120
-
extra_json
{"automation_cycle_id": 1512, "canonical_name": "UC Davis Law Review", "child_pid": 5421, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-06-01T15:18:34+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-06-01T15:17:04+00:00", "run_kind": "scheduled_active", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1780327024_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1780327024_UCDavisLawReviewScraper.out.log", "timeout_minutes": 45}
stdout | stderr
#3620 success 2026-05-01T18:34:53+00:00 2026-05-01T18:36:59+00:00 126.0s d=10  |  skip=110  |  err=0
discovered=120  |  processed=120
-
extra_json
{"automation_cycle_id": 600, "canonical_name": "UC Davis Law Review", "child_pid": 921672, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-05-01T18:36:53+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-01T18:34:53+00:00", "run_kind": "scheduled_active", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1777660493_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1777660493_UCDavisLawReviewScraper.out.log", "timeout_minutes": 45}
stdout | stderr
#2759 success 2026-03-08T12:06:18+00:00 2026-03-08T12:08:11+00:00 113.1s d=9  |  skip=101  |  err=0
discovered=110  |  processed=110
-
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 2681507, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-03-08T12:07:48+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-03-08T12:06:18+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1772971578_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1772971578_UCDavisLawReviewScraper.out.log", "timeout_minutes": 45}
stdout | stderr
#755 success 2026-02-06T10:59:23+00:00 2026-02-06T11:00:04+00:00 41.0s d=13  |  skip=17  |  err=0
discovered=30  |  processed=30
-
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 3234257, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T10:59:53+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T10:59:23+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770375563_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770375563_UCDavisLawReviewScraper.out.log", "timeout_minutes": 18}
stdout | stderr
#754 failed 2026-02-06T10:58:40+00:00 2026-02-06T10:58:40+00:00 0.2s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
AttributeError: 'str' object has no attribute 'get'
traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 661, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 50, in discover_urls
    html = await self._fetch_html(self.archives_url)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 158, in _fetch_html
    return await asyncio.to_thread(_task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/asyncio/threads.py", line 25, in to_thread
    return await loop.run_in_executor(None, func_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 134, in _task
    server = str(getattr(resp, "headers", {}) or {}).get("server", "") or ""
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 3232944, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T10:58:40+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T10:58:40+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770375520_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770375520_UCDavisLawReviewScraper.out.log", "timeout_minutes": 18}
stdout | stderr
#633 failed 2026-02-06T05:21:28+00:00 2026-02-06T05:21:28+00:00 0.2s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
RuntimeError: Blocked by Cloudflare bot protection (HTTP 403) at https://lawreview.law.ucdavis.edu/archives
traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 514, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 44, in discover_urls
    html = await self._fetch_html(self.archives_url)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/uc_davis_law_review_scraper.py", line 169, in _fetch_html
    raise RuntimeError(
RuntimeError: Blocked by Cloudflare bot protection (HTTP 403) at https://lawreview.law.ucdavis.edu/archives
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 2546542, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T05:21:28+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T05:21:28+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770355288_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770355288_UCDavisLawReviewScraper.out.log", "timeout_minutes": 15}
stdout | stderr
#632 no_items 2026-02-06T05:21:00+00:00 2026-02-06T05:21:00+00:00 0.2s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
-
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 2545673, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T05:21:00+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T05:21:00+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770355260_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770355260_UCDavisLawReviewScraper.out.log", "timeout_minutes": 15}
stdout | stderr
#631 no_items 2026-02-06T05:19:35+00:00 2026-02-06T05:19:36+00:00 0.3s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
-
extra_json
{"canonical_name": "UC Davis Law Review", "child_pid": 2543054, "file_path": "scrapers/uc_davis_law_review_scraper.py", "heartbeat_at": "2026-02-06T05:19:35+00:00", "heartbeat_source": "orchestrator", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T05:19:35+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770355175_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770355175_UCDavisLawReviewScraper.out.log", "timeout_minutes": 15}
stdout | stderr
#349 no_items 2026-01-22T03:59:42+00:00 2026-01-22T03:59:42+00:00 0.1s d=0  |  skip=0  |  err=0
discovered=0  |  processed=0
-
extra_json
{"canonical_name": "UC Davis Law Review", "file_path": "scrapers/uc_davis_law_review_scraper.py", "law_review_id": 26, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-01-22T03:59:42+00:00", "scraper_id": "UCDavisLawReviewScraper", "script_path": "scrapers/uc_davis_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1769054382_UCDavisLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1769054382_UCDavisLawReviewScraper.out.log", "timeout_minutes": 45}
stdout | stderr