Skip to content

Scrape jwh, aqua, ws for data availability (#32-#34) - #36

Merged
larnsce merged 2 commits into
mainfrom
dev
Jul 26, 2026
Merged

Scrape jwh, aqua, ws for data availability (#32-#34)#36
larnsce merged 2 commits into
mainfrom
dev

Conversation

@larnsce

@larnsce larnsce commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Whole-journal scrape of three IWA journals whose 1996-2026 WASH share crossed the Identify additional journals where people in WASH research my publish #18 threshold: Journal of Water and Health (2013 articles), AQUA (1819), and Water Supply (4884). Every article is captured, not only WASH-matched ones, so data-availability practice can be compared within each journal between matched and non-matched articles.
  • Adds data-raw/iwa_scraping.R, a parameterized IWA scraper generalized from washdev_scraping.R: it discovers issues from the site own year/issue widgets, paces requests under the Silverchair throttle, and survives headless-Chrome crashes by respawning the session and retrying the issue. run_iwa_scrapes.R chains the three journals sequentially with a cooldown between them; each is resumable.
  • Adds pull_matched_works.R and matched-works-*.csv (OpenAlex WASH-matched work lists per journal) to supply a per-article wash_matched flag at processing time, plus das_platform_mapping.csv mapping the 46 filtered-slice journals to publishers for the deferred Manual DAS-accessibility check for the 46 filtered-slice journals #35 survey.
  • Also wires OPENALEX_API_KEY into harvest_corpus.R (lifts the OpenAlex daily budget from $0.10 to $1).
  • Raw scrape outputs and issue manifests are committed for reproducibility, matching the washdev/ploswater precedent. Building the datasets into the package (shared schema, wash_matched join, dictionary rows, roxygen, README) is deferred to a follow-up.

Test plan

  • data-raw/iwa_scraping.R and run_iwa_scrapes.R parse without error
  • The three raw CSVs share the washdev 28-column schema
  • Field coverage is sound (100% DOI/keywords/DAS-flag, 99%+ authors, 0 duplicate DOIs, 0 all-NA rows)
  • matched-works-*.csv cover the scraped year spans for the wash_matched join

larnsce added 2 commits July 24, 2026 07:53
The key is registered in ~/.Renviron and lifts the OpenAlex daily
budget from $0.10 to $1, but openalexR only sends it as an HTTP
header the usage-priced API may ignore. Map it to openalexR.apikey
for the oa_fetch calls and attach it as an api_key query parameter
in oa_group_top200(), the route that registers reliably. The script
still runs keyless when the variable is absent.

Assisted-by: Claude claude-fable-5
Whole-journal scrape of three IWA journals whose 1996-2026 WASH share
crossed the #18 threshold: Journal of Water and Health (2013 articles),
AQUA (1819), and Water Supply (4884). Every article is captured, not
only WASH-matched ones, so data-availability practice can be compared
within each journal between matched and non-matched articles.

data-raw/iwa_scraping.R generalizes washdev_scraping.R into a
parameterized IWA scraper: it discovers issues from the site's own
year/issue widgets, paces requests to stay under the Silverchair
throttle, and survives headless-Chrome crashes by respawning the
session and retrying the issue. run_iwa_scrapes.R chains the three
journals sequentially with a cooldown between them; each is resumable.

pull_matched_works.R pulls the OpenAlex WASH-matched work lists per
journal (matched-works-*.csv) to supply a per-article wash_matched
flag at processing time. das_platform_mapping.csv maps the 46
filtered-slice journals to publishers for the deferred #35 survey.

Raw scrape outputs and issue manifests are committed for
reproducibility, matching the washdev/ploswater precedent.

Refs #32, #33, #34
Assisted-by: Claude claude-fable-5
@larnsce
larnsce merged commit 5cc7a54 into main Jul 26, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant