Size: a a a

R (язык программирования)

2020 November 26

EP

Ed P in R (язык программирования)
Это уже следующий этап 😂

В идеале я вообще хотел замутить визуальный парсер страниц на шайни, чтобы можно было drag-n-drop'ать элементы в заголовок таблиц (как во всяких платных парсерах) и был удивлен, что ничего такого не нашел.

Но тут препятствия на каждом шагу, как выяснилось
источник

PU

Philipp Upravitelev in R (язык программирования)
тыкал я как-то с listviewer, он хорош именно для визуализации всяких сложных списков, насколько я помню
я им активно дебажил плотли одно время, так как плотли иногда шакалит данные при конвертации выражения в json %)
источник

PU

Philipp Upravitelev in R (язык программирования)
Ed P
Это уже следующий этап 😂

В идеале я вообще хотел замутить визуальный парсер страниц на шайни, чтобы можно было drag-n-drop'ать элементы в заголовок таблиц (как во всяких платных парсерах) и был удивлен, что ничего такого не нашел.

Но тут препятствия на каждом шагу, как выяснилось
блин, крутая идея %)
источник

PU

Philipp Upravitelev in R (язык программирования)
@Gotfr1d ты такое любишь, вроде :))))
источник
2020 November 27

EP

Ed P in R (язык программирования)
Philipp Upravitelev
блин, крутая идея %)
спасибо)

Я пока что уперся в невозможность нормально отображать html страницы в шайни. есть htmlOutput , но он показывает инлайн html и может конфликтовать с библиотеками/стилями. а если это вырезать, то будет показываться неправильно.

Пока что костыльная идея в голове выглядит так:
1. к странице из
read_html(url)
нужно добавить небольшой яваскрипт, который подсвечивал бы все блоки и писал рядом с ними названия.
2. модифицированную страницу пихать в iframe. По идее все скрипты и стили из оригинальной страницы не должны ломаться.
3. Одновременно с этим из
html_structure()

собирается лист и чистится от мусора.
4. ShinyTree (https://github.com/shinyTree/shinyTree) или какой-то другой виджет используется для отображения структуры страницы. Пользователь может глядеть в iframe названия нужных блоков и находить их в дереве.
5. в ShinyTree можно нажать нужный элемент в дереве (который передается в html_nodes) и предварительно посмотреть результаты парсинга (пока не совсем понял, как это сделать, наверное через реактивные значения как-то).
6. если результат норм, то после выбора ноды можно выбрать допольнительные атрибуты.
7. потом осталось придумать, как сделать drag n drop для ноды и атрибутов в таблицу. Я пока ничего лучше не придумал, как передать выбранных элементы ShinyTree в следующий виджет (sortable н-р)
8. когда это список будет готов, можно уже сгенерить код для rvest и посмотреть в таблице что получилось.
источник

PU

Philipp Upravitelev in R (язык программирования)
ох, сложный какой план %)
но все такое интересное...
источник

PD

Pavel Demin in R (язык программирования)
Philipp Upravitelev
@Gotfr1d ты такое любишь, вроде :))))
не моя остановочка)
источник

a

aGricolaMZ in R (язык программирования)
Ed P
спасибо)

Я пока что уперся в невозможность нормально отображать html страницы в шайни. есть htmlOutput , но он показывает инлайн html и может конфликтовать с библиотеками/стилями. а если это вырезать, то будет показываться неправильно.

Пока что костыльная идея в голове выглядит так:
1. к странице из
read_html(url)
нужно добавить небольшой яваскрипт, который подсвечивал бы все блоки и писал рядом с ними названия.
2. модифицированную страницу пихать в iframe. По идее все скрипты и стили из оригинальной страницы не должны ломаться.
3. Одновременно с этим из
html_structure()

собирается лист и чистится от мусора.
4. ShinyTree (https://github.com/shinyTree/shinyTree) или какой-то другой виджет используется для отображения структуры страницы. Пользователь может глядеть в iframe названия нужных блоков и находить их в дереве.
5. в ShinyTree можно нажать нужный элемент в дереве (который передается в html_nodes) и предварительно посмотреть результаты парсинга (пока не совсем понял, как это сделать, наверное через реактивные значения как-то).
6. если результат норм, то после выбора ноды можно выбрать допольнительные атрибуты.
7. потом осталось придумать, как сделать drag n drop для ноды и атрибутов в таблицу. Я пока ничего лучше не придумал, как передать выбранных элементы ShinyTree в следующий виджет (sortable н-р)
8. когда это список будет готов, можно уже сгенерить код для rvest и посмотреть в таблице что получилось.
s <- rvest::read_html("<html><title>Hi</title></html>")
l <- xml2::as_list(s)
listviewer::jsonedit(l)
источник

a

aGricolaMZ in R (язык программирования)
специально для нервных написал без пайпов
источник

PU

Philipp Upravitelev in R (язык программирования)
:(
источник

EP

Ed P in R (язык программирования)
aGricolaMZ
s <- rvest::read_html("<html><title>Hi</title></html>")
l <- xml2::as_list(s)
listviewer::jsonedit(l)
О, спасибо! Т.е. надо было xml2 юзать. Сегодня допилил яваскрипт, который подсвечивает все элементы страницы, на выходных попробую слепить все в кучу и доделать proof of concept.

Единственное, с листом в итоге решил так сильно ее заморачиваться и попробовать сделать одноуровневым списком все уникальные тэги. Если на странице 100500 элементов, то дерево будет не интуитивное
источник

A

Andrey in R (язык программирования)
Вроде не постили
источник

A

Andrey in R (язык программирования)
Переслано от Andrey
источник

EP

Ed P in R (язык программирования)
в подборке 100 книг по R это вроде было.
Но вообще mastering shiny хороша. Прям намного лучше стандартных туториалов шайни
источник

a

aGricolaMZ in R (язык программирования)
Ed P
в подборке 100 книг по R это вроде было.
Но вообще mastering shiny хороша. Прям намного лучше стандартных туториалов шайни
Согласен, я пролистал несколько глав — мне понравилось. Особенно про безопасность.
источник

AP

Aleksandr Pidtykan in R (язык программирования)
А ее уже дописали? А то я ее читал еще год назад
источник

EP

Ed P in R (язык программирования)
Aleksandr Pidtykan
А ее уже дописали? А то я ее читал еще год назад
наверное год назад она еще совсем сырая была. В целом пару месяцев назад была уже ОК, но ее регулярно обновляют
источник

AP

Aleksandr Pidtykan in R (язык программирования)
Ed P
наверное год назад она еще совсем сырая была. В целом пару месяцев назад была уже ОК, но ее регулярно обновляют
Да % 30-40 не было. Я правда месяц назад пробовал по ней тесты на реактивы написать, но код с примера не завелся (
источник

PU

Philipp Upravitelev in R (язык программирования)
мне казалось, год назад было только оглавление %)
источник

AP

Aleksandr Pidtykan in R (язык программирования)
Philipp Upravitelev
мне казалось, год назад было только оглавление %)
Не, лучшей практики практически не было. Помню только модули поскольку по книге делал. А так полистав вижу визуалицию рективов поменял - цветная стала ).. Вообще книга отличная вышла
источник