Некоторые проблемы с парсингом веб-страниц с использованием R - PullRequest
0 голосов
/ 29 мая 2020

У меня проблемы с удалением текстовой информации с этой веб-страницы: http://www.iplant.cn/info/Acer%20stachyophyllum?t=foc

Мне нужна текстовая информация в центре этой веб-страницы: «Деревья до 15 м. высокий, раздельнополый ... "Я попытался использовать функцию read_ html в пакете R rvest, но ничего не получил. Может ли кто-нибудь мне с этим помочь? Большое спасибо.

1 Ответ

1 голос
/ 29 мая 2020

Эта часть страницы создается в результате вызова xhr. Вы можете получить конкретный c фрагмент текста от любого вида, выполнив:

get_description <- function(species_name)
{
  url   <- "http://www.iplant.cn/ashx/getfoc.ashx" 
  query <- paste0("?key=", gsub(" ", "+", species_name), 
                  "&key_no=&m=", runif(1), 9)
  jsonlite::fromJSON(paste0(url, query))$Description
}

Так, например:

get_description("Actaea asiatica")
#> [1] "<p>Rhizome black-brown, with numerous slender fibrous roots. 
#> Stems 30--80 cm tall, terete, 4--6(--9) mm in diam., unbranched, 
#> basally glabrous, apically white pubescent. Leaves 2 or 3, proximal 
#> cauline leaves 3 × ternately pinnate ...<truncated>

get_description("Acer stachyophyllum")
# > [1] "<p>Trees to 15 m tall, dioecious. Bark yellowish brown, smooth.
#> Branchlets glabrous. Leaves deciduous; petiole 2.5-8 cm, slightly 
#> pubescent near apex; leaf blade ovate or oblong, 5-11 × 2.5-6 cm, 
#> undivided or 3-lobed, papery, abaxially densely pale or white pubescent,
#>  becoming less so when mature or nearly glabrous, adaxially glabrous,
#> 3-5-veined at base abaxially, rarely with rudimentary...<truncated>
...