根据 ETag 标头缓存来自 URL 的内容

时间:2021-01-25 16:26:13

标签: r json caching httr

我正在使用 httr 和 jsonlite 从 1000 多个 URL 中抓取内容。目前,我从“锦标赛”页面检索网页 ID 列表,然后创建一个 URL 列表,我使用 lapply 循环遍历该列表。这给了我一个 JSON 对象列表。从完整的 URL 集中检索内容需要 6 多分钟。

tournaments <- GET("http://listfortress.com/api/v1/tournaments/")
tournaments <- fromJSON(rawToChar(tournaments$content))
tournaments

#Generating list of tournament urls
urls <- paste0("http://listfortress.com/api/v1/tournaments/", tournaments$id)

#Scraping urls
data <- lapply(urls, GET)

但是,这些页面中的绝大多数在记录后不会收到任何新内容或更新。我想通过缓存未修改的数据并仅覆盖已修改页面的内容来加快此过程。

这些页面的 API 不包含“Last-Modified”标头,但它确实包含一个“ETag”标头,我理解它记录内容是否已被修改。

我不确定如何使用 ETag 标头仅从修改后的页面中检索信息,然后使用这些页面更新我的数据集(从这些页面中删除旧数据)。

0 个答案:

没有答案
相关问题