Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何在搜索表单上查找html_节点?_R_Web Scraping_Rvest - Fatal编程技术网

R 如何在搜索表单上查找html_节点?

R 如何在搜索表单上查找html_节点?,r,web-scraping,rvest,R,Web Scraping,Rvest,我有一个名字、名字、姓氏和出生日期的列表,我需要在美国佐治亚州富尔顿县监狱网站上搜索,以确定某人是否入狱或获释 该网站是 该网站要求您输入姓氏和名字,然后会提供结果列表 我发现了一些stackoverflow帖子,它们给了我一些方向,但我仍在努力解决这个问题。我用这个作为例子。我正在使用SelectorGaget帮助找出CSS标记 这是我到目前为止的代码。现在我不知道该使用什么html_节点 我从form.unfilled得到的结果是{xml_missing},我知道这是不对的 我想如果我能计算

我有一个名字、名字、姓氏和出生日期的列表,我需要在美国佐治亚州富尔顿县监狱网站上搜索,以确定某人是否入狱或获释

该网站是

该网站要求您输入姓氏和名字,然后会提供结果列表

我发现了一些stackoverflow帖子,它们给了我一些方向,但我仍在努力解决这个问题。我用这个作为例子。我正在使用SelectorGaget帮助找出CSS标记

这是我到目前为止的代码。现在我不知道该使用什么html_节点

我从form.unfilled得到的结果是{xml_missing},我知道这是不对的

我想如果我能计算出html_节点的值,我就可以继续使用set_值并提交表单


谢谢。

该网站严重依赖Javascript来呈现自己。打开在新浏览器实例中提供的链接时,您将被重定向到http://justice.fultoncountyga.gov/PAJailManager/default.aspx,您必须单击“监狱记录”链接。这将执行一点Javascript,将您发送到带有表单的页面


rvest无法执行任意Javascript。你可能得看看硒。Selenium基本上可以远程控制浏览器,例如Firefox或Chrome,它可以按预期执行Javascript。

该网站严重依赖Javascript来呈现自身。打开在新浏览器实例中提供的链接时,您将被重定向到http://justice.fultoncountyga.gov/PAJailManager/default.aspx,您必须单击“监狱记录”链接。这将执行一点Javascript,将您发送到带有表单的页面


rvest无法执行任意Javascript。你可能得看看硒。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")

注意:验证您的操作是否符合网站的服务条款。许多网站都有禁止刮擦的政策。

它出现在网页打开的第一次呼叫中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

下面是有效的代码。这个问题已经回答了,但我将发布另一个问题,因为我没有得到一个数据表

注意:我在这个网站上找不到我正在查询的任何服务条款

多亏了戴维

下面是有效的代码。这个问题已经回答了,但我将发布另一个问题,因为我没有得到一个数据表

注意:我在这个网站上找不到我正在查询的任何服务条款


谢谢这让我进入了下一步。我将发布另一个关于“疾驰”的问题。一旦我提交了带有某些名称值的表单,我就会发现在处理您的请求消息时出现错误。@JohnMoses,submit\u表单可能不是正确的方法。人们可能必须尝试POST方法。这超出了我的技能水平,尝试用你的工作代码发布一个新问题,看看其他人是否有更多经验。谢谢。这让我进入了下一步。我将发布另一个关于“疾驰”的问题。一旦我提交了带有某些名称值的表单,我就会发现在处理您的请求消息时出现错误。@JohnMoses,submit\u表单可能不是正确的方法。人们可能必须尝试POST方法。这超出了我的技能水平,尝试用你的工作代码发布一个新问题,看看其他人是否有更多的经验。
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."