Я пытаюсь почистить веб-страницы законодательного органа штата Невада (то есть таблицы членов собрания и сенаторов и их личных страниц ), и меня постепенно сводят с ума. Это выглядит просто: есть таблицы, которые присутствуют в HTML при изучении исходного кода. За исключением наилучшего, я могу сказать, что они создаются с использованием запросов Javascript, и это ново для меня.
Я пробовал некоторые обходные пути, например этот вопрос обмена стека , ноне могу найти ни одного. Я сейчас пытаюсь следовать указаниям здесь и здесь безрезультатно. Это для платного концерта, и я трачу слишком много оплачиваемых часов. Я собираюсь просто вручную заполнить данные штопки, но я полагаю, что изучение этого сейчас может спасти будущие головные боли.
Когда я ищу скрипты, я нахожу 11, но только первый и последний имеют текст внутриих. Когда я пытаюсь вызвать последний скрипт с помощью ct $ eval (), я получаю сообщение об ошибке «Ошибка в context_eval (объединение (src), закрытый $ context): ReferenceError: $ не определено»
> read_html(link) %>% html_nodes("script") {xml_nodeset (11)} [1]
<script type="text/javascript">
\
r\ n
var SiteTitle = "Legislator I ... [2] < script src = "/App/Legislator/A/Scripts/jquery-1.8.1.js" >
</script>
[3]
<script src="/App/Legislator/A/Scripts/DataTables/jquery.dataTables.js">
...[4] < script src = "/App/Legislator/A/Scripts/jquery.fancybox.pack.js" >
</script>
[5]
<script src="/App/Legislator/A/Scripts/jquery.fancybox-buttons.js">
< /scr ... [6] < script src = "/App/Legislator/A/Scripts/jquery.fancybox-media.js" >
</script>
[7]
<script src="/App/Legislator/A/Scripts/jquery.fancybox-thumbs.js"></script>
[8]
<script src="/App/Legislator/A/Scripts/bootstrap.js"></script>
[9]
<script src="/App/Legislator/A/Scripts/DateFormat.js"></script>
[10]
<script src="/App/Legislator/A/Scripts/LCB.js"></script>
[11]
<script type="text/javascript">
\
r\ n\ t $(function() {\
r\ n\ t\ t //console ...
#Loading both the required libraries
library(rvest)
library(V8)
#URL with js-rendered content to be scraped
link <- "https://www.leg.state.nv.us/App/Legislator/A/Senate/Current/1"
#Read the html page content and extract all javascript codes that are inside a list
jscript <- read_html(link) %>% html_nodes('script') %>% html_text()
# Create a new v8 context
ct <- v8()
#parse the html content from the js output and print it as text
read_html(ct$eval(jscript[11])) %>%
html_text()
Я застрял! предложения приветствуются!