Синонимы веб скраба - PullRequest
       70

Синонимы веб скраба

0 голосов
/ 12 февраля 2020

Я пытаюсь вычеркнуть синонимы из базы данных Тезауруса Национального института рака, однако у меня возникли некоторые проблемы с поиском правильного html, на который можно указать. Ниже мой код и фрейм данных, которые я использую. Когда я запускаю свой сценарий для извлечения синонимов, я получаю Error in open.connection(x, "rb") : HTTP error 404.. Я не могу понять, какой должна быть правильная ссылка html и как ее найти.

enter image description here

library(xml2)
library(rvest)
library(dplyr)
library(tidyverse)

synonyms<-read_csv("terms.csv")
##list of acronyms 
words <- c(synonyms$Keyword)

##Designate html like and the values to search 
htmls <- paste0("https://ncit.nci.nih.gov/ncitbrowser/pages/concept_details.jsf/", words)

Data<-data.frame(Pages=c(htmls))


results<-sapply(Data$Pages, function(url){
  try(
    url %>%
      as.character() %>% 
      read_html() %>% 
      html_nodes('p') %>% 
      html_text()
  )
})

1 Ответ

0 голосов
/ 13 февраля 2020

Я подозреваю, что есть проблема с этой строкой кода:

##Designate html like and the values to search 
htmls <- paste0("https://ncit.nci.nih.gov/ncitbrowser/pages/concept_details.jsf/", words)

Поскольку paste0 () просто объединяет текст вместе , это даст вам URL, такие как

https://ncit.nci.nih.gov/ncitbrowser/pages/concept_details.jsf/Ketamine
https://ncit.nci.nih.gov/ncitbrowser/pages/concept_details.jsf/Azacitidine
https://ncit.nci.nih.gov/ncitbrowser/pages/concept_details.jsf/Axicabtagene+Ciloleucel

Хотя у меня нет особого опыта работы с rvest, ошибка 404, которую вы видите, почти наверняка связана с неспособностью веб-браузеров загрузить эти URL-адреса. Я рекомендую войти или распечатать htmls, чтобы вы могли убедиться, что они действительно работают правильно в веб-браузере.

Укажу, что в данном конкретном случае веб-сайт предлагает загружаемую базу данных ; Возможно, вам будет проще скачать и запросить это в автономном режиме, чем делать это в Интернете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...