如何在搜索表单中找到 html_node?
How do I find html_node on search form?
我有一个姓名列表(名字、姓氏和出生日期),我需要搜索佐治亚州富尔顿县(美国)监狱网站以确定一个人是否入狱或获释.
网站是http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400
该站点要求您输入姓氏和名字,然后它会为您提供结果列表。
我发现一些 Whosebug 帖子给了我一些指导,但我仍在努力弄清楚这一点。我正在使用这个 post 作为示例。我正在使用 SelectorGaget 来帮助找出 CSS 标签。
这是我目前的代码。现在我不知道要用什么html_node
。
library(rvest)
# Specify URL
fc.url <- "http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400"
# start session
jail <- html_session(fc.url)
# Grab initial form
form.unfilled <- jail %>% html_node("form")
form.unfilled
我从 form.unfilled
得到的结果是 {xml_missing} <NA>
,我知道这是不对的。
我想如果我能计算出 html_node
值,我可以继续使用 set_values
和 submit_form
。
谢谢。
该网站严重依赖 Javascript 来呈现自身。在新的浏览器实例中打开您提供的 link 时,您将被重定向到 http://justice.fultoncountyga.gov/PAJailManager/default.aspx
,您必须在其中单击 "Jail Records" link。这会执行一点 Javascript,将您发送到带有表单的页面。
rvest
无法执行任意Javascript。您可能需要查看 RSelenium
。 Selenium
基本上远程控制浏览器(例如 Firefox 或 Chrome),它按预期执行 Javascript。
它出现在网页打开到“http://justice.fultoncountyga.gov/PAJailManager/default.aspx 的初始调用中。会话开始后,您应该能够跳转到搜索页面:
library(rvest)
# Specify URL
fc.url <- "http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400"
# start session
jail <- html_session("http://justice.fultoncountyga.gov/PAJailManager/default.aspx")
#jump to search page
jail2 <- jail %>% jump_to("http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400")
#list the form's fields
html_form(jail2)[[1]]
# Grab initial form
form.unfilled <- jail2 %>% html_node("form")
注意:确认您的行为符合网站的服务条款。许多网站确实有针对 抓取 .
的政策
感谢 Dave2e。
这是有效的代码。此问题已得到解答(但我会 post 另一个问题,因为结果我没有得到 table 数据。)
注意:我在该站点上找不到我正在查询的任何服务条款
library(rvest)
# start session
jail <- html_session("http://justice.fultoncountyga.gov/PAJailManager/default.aspx")
#jump to search page
jail2 <- jail %>% jump_to("http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400")
#list the form's fields
html_form(jail2)[[1]]
# Grab initial form
form.unfilled <- jail2 %>% html_node("form") %>% html_form()
form.unfilled
#name values
lname <- "DOE"
fname <- "JOHN"
# Fille the form with name values
form.filled <- form.unfilled %>%
set_values("LastName" = lname,
"FirstName" = fname)
#Submit form
r <- submit_form(jail2, form.filled,
submit = "SearchSubmit")
#grab tables from submitted form
table <- r %>% html_nodes("table")
#grab a table with some data
table[[5]] %>% html_table()
# resulting text in this table:
# " An error occurred while processing your request.Please contact your system administrator."
我有一个姓名列表(名字、姓氏和出生日期),我需要搜索佐治亚州富尔顿县(美国)监狱网站以确定一个人是否入狱或获释.
网站是http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400
该站点要求您输入姓氏和名字,然后它会为您提供结果列表。
我发现一些 Whosebug 帖子给了我一些指导,但我仍在努力弄清楚这一点。我正在使用这个 post 作为示例。我正在使用 SelectorGaget 来帮助找出 CSS 标签。
这是我目前的代码。现在我不知道要用什么html_node
。
library(rvest)
# Specify URL
fc.url <- "http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400"
# start session
jail <- html_session(fc.url)
# Grab initial form
form.unfilled <- jail %>% html_node("form")
form.unfilled
我从 form.unfilled
得到的结果是 {xml_missing} <NA>
,我知道这是不对的。
我想如果我能计算出 html_node
值,我可以继续使用 set_values
和 submit_form
。
谢谢。
该网站严重依赖 Javascript 来呈现自身。在新的浏览器实例中打开您提供的 link 时,您将被重定向到 http://justice.fultoncountyga.gov/PAJailManager/default.aspx
,您必须在其中单击 "Jail Records" link。这会执行一点 Javascript,将您发送到带有表单的页面。
rvest
无法执行任意Javascript。您可能需要查看 RSelenium
。 Selenium
基本上远程控制浏览器(例如 Firefox 或 Chrome),它按预期执行 Javascript。
它出现在网页打开到“http://justice.fultoncountyga.gov/PAJailManager/default.aspx 的初始调用中。会话开始后,您应该能够跳转到搜索页面:
library(rvest)
# Specify URL
fc.url <- "http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400"
# start session
jail <- html_session("http://justice.fultoncountyga.gov/PAJailManager/default.aspx")
#jump to search page
jail2 <- jail %>% jump_to("http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400")
#list the form's fields
html_form(jail2)[[1]]
# Grab initial form
form.unfilled <- jail2 %>% html_node("form")
注意:确认您的行为符合网站的服务条款。许多网站确实有针对 抓取 .
的政策感谢 Dave2e。
这是有效的代码。此问题已得到解答(但我会 post 另一个问题,因为结果我没有得到 table 数据。)
注意:我在该站点上找不到我正在查询的任何服务条款
library(rvest)
# start session
jail <- html_session("http://justice.fultoncountyga.gov/PAJailManager/default.aspx")
#jump to search page
jail2 <- jail %>% jump_to("http://justice.fultoncountyga.gov/PAJailManager/JailingSearch.aspx?ID=400")
#list the form's fields
html_form(jail2)[[1]]
# Grab initial form
form.unfilled <- jail2 %>% html_node("form") %>% html_form()
form.unfilled
#name values
lname <- "DOE"
fname <- "JOHN"
# Fille the form with name values
form.filled <- form.unfilled %>%
set_values("LastName" = lname,
"FirstName" = fname)
#Submit form
r <- submit_form(jail2, form.filled,
submit = "SearchSubmit")
#grab tables from submitted form
table <- r %>% html_nodes("table")
#grab a table with some data
table[[5]] %>% html_table()
# resulting text in this table:
# " An error occurred while processing your request.Please contact your system administrator."