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

HarvardInternationalLawJournalScraper

Harvard International Law Journal · mapped to registry #107

Implementation identity
scrapers/harvard_international_law_journal_scraper.py
PlaywrightScraperplaywrightCLI entrypoint
no_new_content
Latest status
no new content
Run #45247
Latest runtime
8.6s
2026-09-13T02:18:39+00:00
Latest PDFs
0
27 duplicates skipped
Uploads pending
0
Queue clear or unavailable
Run history
12
Returned by current limit

Definition

Registry metadata for this implementation

scraper id
HarvardInternationalLawJournalScraper
canonical name
Harvard International Law Journal
institution code
-
platform
playwright
base class
PlaywrightScraper
class name
HarvardInternationalLawJournalScraper
module path
scrapers.harvard_international_law_journal_scraper
file path
scrapers/harvard_international_law_journal_scraper.py
has cli entrypoint
true
is abstract
false
updated at
2026-09-23 05:32:39

Operational mapping

Law review ownership and publication state

Registry health
HEALTHY
Last uploaded
2026-02-06 11:53:20
Registry sync
uabox:Law_Review_Project/harvard_international_law_journal_20260206_115315.zip
Latest error
No reported error

Run history

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

12 returned · show 200
Run Status Started Runtime Result Error / diagnostics Logs
#45247 no new content 2026-09-13T02:18:39+00:00ended 2026-09-13T02:18:49+00:00 8.6s 0 PDF 27 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 249930, "canonical_name": "Harvard International Law Journal", "child_pid": 211361, "download_queue": {"due": 0, "pending": 0, "retries": 0, "scope": "HarvardInternationalLawJournalScraper:Harvard International Law Journal", "waiting": 0}, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-09-13T02:18:39+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-09-13T02:18:39+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1789265919_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1789265919_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 45}
#44445 no new content 2026-08-13T22:51:48+00:00ended 2026-08-13T22:51:52+00:00 3.2s 0 PDF 27 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 153649, "canonical_name": "Harvard International Law Journal", "child_pid": 2472774, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-08-13T22:51:48+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-08-13T22:51:48+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1786661508_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1786661508_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 45}
#43661 no new content 2026-07-14T18:25:25+00:00ended 2026-07-14T18:25:29+00:00 2.8s 0 PDF 27 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 44061, "canonical_name": "Harvard International Law Journal", "child_pid": 2948200, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-07-14T18:25:25+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-14T18:25:25+00:00", "run_kind": "manual", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1784053525_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1784053525_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 15}
#43480 no items 2026-07-14T18:07:30+00:00ended 2026-07-14T18:08:06+00:00 35.5s 0 PDF 0 skipped 0 errors no_items_reason: discover_urls returned 0 items (base_url=https://journals.law.harvard.edu/ilj/); scraper did not set `_no_items_reason`
Run metadata
{"automation_cycle_id": 43988, "canonical_name": "Harvard International Law Journal", "child_pid": 2906810, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-07-14T18:08:00+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-14T18:07:30+00:00", "run_kind": "scheduled", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1784052450_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1784052450_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 15}
#30149 no new content 2026-06-30T23:09:05+00:00ended 2026-06-30T23:09:08+00:00 2.9s 0 PDF 27 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 27282, "canonical_name": "Harvard International Law Journal", "child_pid": 1697351, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-06-30T23:09:05+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-06-30T23:09:05+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1782860945_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1782860945_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 45}
#4289 no new content 2026-05-31T21:52:27+00:00ended 2026-05-31T21:52:31+00:00 3.3s 0 PDF 27 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 1508, "canonical_name": "Harvard International Law Journal", "child_pid": 1289919, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-05-31T21:52:27+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-31T21:52:27+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1780264347_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1780264347_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 45}
#3610 no new content 2026-05-01T18:22:22+00:00ended 2026-05-01T18:22:25+00:00 2.1s 0 PDF 27 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 599, "canonical_name": "Harvard International Law Journal", "child_pid": 910332, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-05-01T18:22:22+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-01T18:22:22+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1777659742_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1777659742_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 45}
#2749 no new content 2026-03-08T11:50:53+00:00ended 2026-03-08T11:50:57+00:00 3.0s 0 PDF 27 skipped 0 errors No reported error
Run metadata
{"canonical_name": "Harvard International Law Journal", "child_pid": 2670556, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-03-08T11:50:53+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-03-08T11:50:53+00:00", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1772970653_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1772970653_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 45}
#725 success 2026-02-06T09:34:44+00:00ended 2026-02-06T09:35:15+00:00 30.2s 27 PDF 0 skipped 0 errors No reported error
Run metadata
{"canonical_name": "Harvard International Law Journal", "child_pid": 3089041, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-02-06T09:35:14+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T09:34:44+00:00", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1770370484_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770370484_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 25}
#724 failed 2026-02-06T09:33:46+00:00ended 2026-02-06T09:33:47+00:00 0.5s 0 PDF 0 skipped 0 errors AttributeError: 'HarvardInternationalLawJournalScraper' object has no attribute 'max_items'
Traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 555, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/harvard_international_law_journal_scraper.py", line 105, in discover_urls
    if self.max_items and len(discovered_items) >= self.max_items:
       ^^^^^^^^^^^^^^
AttributeError: 'HarvardInternationalLawJournalScraper' object has no attribute 'max_items'
Run metadata
{"canonical_name": "Harvard International Law Journal", "child_pid": 3087279, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-02-06T09:33:46+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T09:33:46+00:00", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1770370426_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770370426_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 25}
#723 failed 2026-02-06T09:30:21+00:00ended 2026-02-06T09:30:21+00:00 0.2s 0 PDF 0 skipped 0 errors Error: Page.goto: net::ERR_NAME_NOT_RESOLVED at https://hilj.org/ Call log: - navigating to "https://hilj.org/", waiting until "domcontentloaded"
Traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 555, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/harvard_international_law_journal_scraper.py", line 32, in discover_urls
    await page.goto(self.base_url, wait_until="domcontentloaded")
  File "/home/arbel/miniconda3/lib/python3.11/site-packages/playwright/async_api/_generated.py", line 8975, in goto
    await self._impl_obj.goto(
  File "/home/arbel/miniconda3/lib/python3.11/site-packages/playwright/_impl/_page.py", line 556, in goto
    return await self._main_frame.goto(**locals_to_params(locals()))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/site-packages/playwright/_impl/_frame.py", line 146, in goto
    await self._channel.send(
  File "/home/arbel/miniconda3/lib/python3.11/site-packages/playwright/_impl/_connection.py", line 69, in send
    return await self._connection.wrap_api_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/miniconda3/lib/python3.11/site-packages/playwright/_impl/_connection.py", line 558, in wrap_api_call
    raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
playwright._impl._errors.Error: Page.goto: net::ERR_NAME_NOT_RESOLVED at https://hilj.org/
Call log:
  - navigating to "https://hilj.org/", waiting until "domcontentloaded"

Run metadata
{"canonical_name": "Harvard International Law Journal", "child_pid": 3081270, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-02-06T09:30:21+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T09:30:21+00:00", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1770370221_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770370221_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 25}
#588 no items 2026-02-06T02:14:58+00:00ended 2026-02-06T02:14:59+00:00 0.2s 0 PDF 0 skipped 0 errors No reported error
Run metadata
{"canonical_name": "Harvard International Law Journal", "child_pid": 2204758, "file_path": "scrapers/harvard_international_law_journal_scraper.py", "heartbeat_at": "2026-02-06T02:14:58+00:00", "heartbeat_source": "orchestrator", "law_review_id": 107, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T02:14:58+00:00", "scraper_id": "HarvardInternationalLawJournalScraper", "script_path": "scrapers/harvard_international_law_journal_scraper.py", "stderr_path": "logs/orchestrator_runs/1770344098_HarvardInternationalLawJournalScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770344098_HarvardInternationalLawJournalScraper.out.log", "timeout_minutes": 20}