oscn_docket <- function(courts, casetypes, start_ymd, end_ymd) {
docket_dates <- ymd(start_ymd):ymd(end_ymd)
ctlist <- casetype_codes %>%
filter(casetype %in% str_to_upper(casetypes))
casetype_ids <- ctlist$casetype_id
for (court_tmp in courts) {
for (casetype_id_tmp in casetype_ids) {
for (docket_date_tmp in docket_dates) {
docket_date_tmp <- as_date(docket_date_tmp, origin = ymd("1970-01-01"))
message(paste("Retrieving", docket_date_tmp, "docket"))
url <- paste0("https://www.oscn.net/applications/oscn/report.asp?report=WebJudicialDocketCaseTypeAll&errorcheck=true&database=&db=",
court_tmp, "&CaseTypeID=",
casetype_id_tmp, "&StartDate=",
month(docket_date_tmp),"%2F",
day(docket_date_tmp),"%2F",
year(docket_date_tmp), "&GeneralNumber=1&generalnumber1=1")
ht <- read_html(httr::GET(url,
config = httr::config(ssl_verifypeer = FALSE)))
d <- ht %>%
html_nodes("table") %>%
html_text() %>%
str_extract_all("[[:alpha:]]{2}-\\d{4}-\\d{1,5}") %>%
enframe() %>%
filter(!str_detect(value, "char|NA"))
docket_tmp <- d %>%
mutate(court = court_tmp,
casetype = str_sub(value, 1, 2),
casenum = paste0(str_sub(value, 1, 8),
str_pad(str_extract(value, "\\d{1,5}$"),
5, "left", 0)),
docket_date = docket_date_tmp) %>%
select(-name, -value) %>%
filter(!str_detect(casenum, "char|NA"))
if (!exists("docket")) {
docket <- docket_tmp
} else {
docket <- bind_rows(docket,
docket_tmp)
}
}
}
}
connect_ojo()
dbWriteTable(ojo_db, "oscn_dockets", docket,
row.names = FALSE,
append = TRUE)
ojo_disconnect_all()
return(docket)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.