очистка каждой из страниц ссылок и сохранение ее в виде таблицы XML - PullRequest
0 голосов
/ 04 июня 2018

Здравствуйте, я новичок в использовании R для очистки данных из Интернета и, к сожалению, мало знаю о HTML и XML.Пытаюсь почистить каждую ссылку на историю на следующей родительской странице: https://news.google.com/search?q=NREGA&hl=en-IN&gl=IN&ceid=IN%3Aen Мне нет дела до других ссылок на родительской странице, но мне нужно создать таблицу со столбцами для URL, заголовокистория, а затем остальное для полного текста страницы (который может состоять из нескольких абзацев текста).

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

Для приложения Новостей Google:

library(rvest)

url <- 'https://news.google.com/search?q=NREGA&hl=en-IN&gl=IN&ceid=IN%3Aen'

webpage <- read_html(url)


data_html <- html_nodes(webpage, '.VDXfz') %>% html_att

r('href')

1 Ответ

0 голосов
/ 04 июня 2018

Я приведу примеры javascript, так как я не знаю, какую библиотеку вы используете.

1.Получение ссылок всех URL:

var anchors = document.querySelectorAll("article  > a");
for(var i in anchors)
{
    console.log(anchors[i].getAttribute("href"));
}

2.Получениезаголовки каждой URL-ссылки:

 var headers = document.querySelectorAll("article  >  div:nth-of-type(1)");
 for(var i in headers)
 {
     console.log(headers[i].innerText);
 }

3.Получение истории после перехода по этой ссылке:

var story = document.querySelector("div.full-details").innerText;
console.log(story);

Это приведет к получению дополнительных сведений, таких как количество акций в социальных сетях:видимый сверху, написанный строкой и т. д. Если вы хотите просто тело без этих деталей, вы можете получить все элементы абзаца, используя " document.querySelectorAll (" div.full-details p ") " и получить innerText свойство для каждого из них, которое вы можете объединить позже.

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