PDFからタイトルテキストの前に表をスクレイピングする方法は? tabulizer パッケージを試しています。特定のページからテーブルを取得する例 (ポーランド語の「Map of Public Health Needs」)
library(tabulizer)
library(tidyverse)
options(java.parameters = "-Xmx8000m")
location<-"http://www.mpz.mz.gov.pl/wp-content/uploads/sites/4/2019/01/mpz_choroby_ukladu_kostno_miesniowego_woj_dolnoslaskie.pdf"
(out<-extract_tables(location, pages = 8,encoding = "UTF-8", method = "stream", outdir = getwd())[[4]] %>%
as.tibble())
これにより、特定のページに 1 つのテーブルが表示されます。しかし、サイトからスクレイピングするためのそのようなPDFがたくさんあります:http://www.mpz.mz.gov.pl/mapy-dla-30-grup-chorob-2018/そして、各病気への多くのリンクを含むサブページ、ポーランドの各州の rvest とのリンクを取得し、特定のタイトル文字列の後にテーブルをスクレイピングする必要があります。
表 1.2.2: Struktura zapadalnosci rejestrowanej w zależności od płci, miejsca zamieszkania oraz grupy wiekowej - Choroby układowe tkanki łącznej"
テーブルが同じページにない可能性があるため、Tabela(...) Struktura zapadalnosci(...)" を検出する必要があります。事前に指示やアイデアをお寄せいただきありがとうございます。
編集: 質問をした後、これまでのところ、テーブルが存在する可能性のあるページを見つけることに成功しましたが、おそらく非常に効果的ではありません:
library(pdfsearch)
pages <-
keyword_search(
location,
keyword = c(
'Tabela',
'Struktura zapadalnosci rejestrowanej'
),
path = TRUE,
surround_lines = FALSE
) %>%
group_by(page_num) %>%
mutate(keyword = paste0(keyword, collapse = ";")) %>%
filter(
str_detect(keyword, "Tabela") &
str_detect(keyword, "Struktura zapadalnosci rejestrowanej")
) %>%
pull(page_num) %>%
unique()