У меня есть несколько тысяч больших документов, сохраненных локально, где они все сохранены как файлы HTML. Каждый документ имеет длину около 300 страниц и имеет несколько разделов, в которых заголовки выделены жирным шрифтом. Моя цель - выполнить текстовый поиск в этих файлах, и, когда я найду данную фразу, извлеките весь раздел, содержащий эту фразу. Моя идея состояла в том, чтобы разобрать HTML-текст так, чтобы он стал списком абзацев, найти расположение фразы, а затем извлечь все из жирных букв (заголовок этого раздела) непосредственно перед жирными буквами сразу после (заголовок следующегораздел).
Я пытался разными способами, но ни один из них не делает то, что я хочу. многообещающе было следующее:
myhtmlfile = "I:/myfolder/myfile.html"
myhtmltxt2 = htmlTreeParse(myhtmlfile, useInternal = TRUE)
Но хотя я могу отображать объект "myhtmltxt2", и он выглядит как HTML с тегами (это то, что мне нужно, чтобы я мог искать "<b>"
), этовнешний указатель. Поэтому я не могу выполнить команду ниже, потому что grep не работает с указателями.
test2<-grep("myphrase",myhtmltxt2,ignore.case = T)
Кроме того, я сделал это:
doc.text = unlist(xpathApply(myhtmltxt2, '//p', xmlValue))
test3<-grep("myphrase",doc.text,ignore.case = T)
Но в этом случае я потерял html-теги в doc.text, поэтому у меня больше нет "<b>"
, то есть то, что ясобирался использовать, чтобы указать раздел для извлечения. Есть ли способ сделать это?