Отображение сети ссылки между блогами с помощью R?

Я хотел бы любой совет относительно того, как создать и визуализировать карту ссылки между блогами так для отражения "социальной сети" между ними.

Вот то, как я думаю о выполнении его:

  1. Запустите с одного (или больше) заносят домашнюю страницу в блог и собирают все ссылки на той странице
  2. Удалите все ссылки, которые являются внутренними ссылками (это - То, если я запускаю с www.website.com. Затем я хочу удалить все ссылки из формы "www.website.com/***"). Но сохраните все внешние ссылки.
  3. Перейдите к каждой из этих ссылок (предполагающий, что Вы уже не посетили их), и повторный шаг 1.
  4. Продолжите до (скажем), X спрыгивает с первой страницы.
  5. Отобразите на графике собранные данные.

Я предполагаю, что, чтобы сделать это в R, можно было бы использовать RCurl/XML (Спасибо Shane для Вашего ответа здесь), объединенный с чем-то как igraph.

Но так как у меня нет опыта или с них, есть ли кто-то здесь, который мог бы быть готов исправить меня, если бы я пропустил какой-либо важный шаг, или присоедините какой-либо полезный отрывок кода для разрешения этой задачи?

p.s: Моя мотивация для этого вопроса - то, что через неделю я делаю доклад на пользователе 2010 при "блоггинге и R", и я думал, что это могло бы быть хорошим способом и дать чему-то забаву аудитории и также заставить их делать что-то вроде этого самих.

Большое спасибо!

Tal

5
задан OmG 5 July 2019 в 19:56
поделиться

1 ответ

Tal,

Этот тип сбора данных называется k-snowball search в теории сетей и должен быть достаточно простым в R. Как вы отметили, самый простой способ выполнить это - использовать пакет XMl и команду htmlTreeParse. Это разберет HTML из блога в дерево, что позволит вам легче выполнить интересующее вас извлечение ссылок.

Кроме того, igraph прекрасно справится с представлением графов, но также имеет полезную функцию graph.compose для взятия двух графов и возвращения композиции их наборов ребер. Она понадобится вам для объединения данных по мере того, как вы будете продолжать "катить снежный ком". Основные шаги процесса:

  1. Найдите некоторый семенной блог
  2. Найдите всех соседей семени и создайте его эго-сеть (звездный граф) с семенем в центре, соединенным со своими соседями
  3. Для всех соседей семени создайте их эго-сети и итеративно составьте эти графы с исходным семенным графом.
  4. Повторите для такого количества k-степеней, которое вам интересно собрать.

У меня нет кода для этого в R, но я сгенерировал код, который выполняет очень похожий процесс в Python, используя Google SocialGraph API.

Удачи!

4
ответ дан 13 December 2019 в 19:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: