Очистка динамической HTML-страницы со скрытым HTML - PullRequest
0 голосов
/ 20 сентября 2019

Я хотел извлечь некоторые данные журнала из динамической веб-страницы с несколькими вкладками, когда я делаю очистку экрана, это работает, но когда я передаю URL-адрес через URL-адрес, HTML не предоставляет подробности в некоторых вкладках (например, вв этом случае, сведения о деятельности, во всех вкладках.

  library(RCurl)
  library(stringr)
  library(XML)
  library(RCurl)
  library(stringr)
  library(XML)
 library(rvest)  
 url<- c("https://issues.apache.org/jira/browse/AMQCPP-645")
 html<- getURL((url, followlocation = TRUE)
 doc = htmlParse(html, asText=TRUE)
 evs <- xpathSApply(doc, "//div[@class='issue-data-block']", xmlValue)

Я хотел бы извлечь события из веб-страницы, но HTML не отображает автоматически информацию на вкладках (которая находится под всеми вкладками внижняя панель)

Я ожидаю вывод следующим образом:

  rows  evs 
   1      S A created issue - 25/Apr/19 15:48 Highlight in document.    
   2      Justin Bertram made changes - 25/Apr/19 17:53 Field Original Value 
          New 
         Value  Comment [ I'm using Firefox, and it's working no problem. It's 
         just HTML so    there shouldn't be any browser compatibility issues. 
         My guess is that Firefox  is holding on to an older, cached version or 
         something. Try opening a "private browsing" window and trying it from 
         there. ] Highlight in document.

   3      Timothy Bish made changes - 25/Apr/19 18:10 Resolution Fixed [ 1 ] 
            Status 
          Open [ 1 ] Closed [ 6 ] Highlight in document.
   4       Timothy Bish made transition - 25/Apr/19 18:10 Open Closed 2h 22m 1

Есть предложения?

1 Ответ

0 голосов
/ 20 сентября 2019

Я предлагаю вам не очищать HTML, а использовать REST API.Причина в том, что часть содержимого страницы создается с использованием javascript, поэтому недостаточно просто очистить html, но также и распространить JS.Например, в вашем случае вы можете вызвать REST API Jira для запроса данных, которые вам нужны.Технически это не очень отличается от того, что вы уже делаете.

Например, для получения комментариев вы вызываете https://issues.apache.org/jira/rest/api/2/issue/AMQCPP-645/comment, который возвращает список объектов комментариев.У каждого есть собственный URL (например, https://issues.apache.org/jira/rest/api/2/issue/13230124/comment/16826237).То же самое можно повторить для других вкладок.

...