R 卷曲柱形
我想发布一个表单并使用返回的数据 我想得到的数据是:R 卷曲柱形,r,curl,rcurl,R,Curl,Rcurl,我想发布一个表单并使用返回的数据 我想得到的数据是: 我忽略了什么?我认为我做的一切都是正确的,但是服务器没有响应我的请求为什么你说服务器没有响应?您的状态为200(正常),响应长度为182000字节 该职位申请工作正常。您的问题在于: cikti <- cikti[cikti$span == "AKTİF TOPLAMI" | cikti$span == "A K T İ F T O P L A M I"]; 您可以使用 span <- iconv(span,from="UT
我忽略了什么?我认为我做的一切都是正确的,但是服务器没有响应我的请求为什么你说服务器没有响应?您的状态为200(正常),响应长度为182000字节 该职位申请工作正常。您的问题在于:
cikti <- cikti[cikti$span == "AKTİF TOPLAMI" | cikti$span == "A K T İ F T O P L A M I"];
您可以使用
span <- iconv(span,from="UTF-8",to="")
而是使用:
cikti <- cikti[span == "AKTİF TOPLAMI" ...]
cikti如果您不想弄乱编码,httr和rvest会自动为您处理:
res <- POST("http://www.bigpara.com/analiz/mali-tablolar/",
body = list(
Yil = "2013",
Donem = "4",
Kur = "TL",
Cins = "1",
HisseKod = "FENER"
),
encode = "form"
)
mali_table <- html(res) %>% html_nodes("div.maliTable li")
span <- mali_table %>% html_nodes("span") %>% html_text()
small <- mali_table %>%
html_nodes("small") %>%
html_text() %>%
gsub("\\.", "", .) %>%
as.numeric()
selected <- span %in% c("AKTİF TOPLAMI", "A K T İ F T O P L A M I")
data.frame(
span = span[selected],
small = small[selected]
)
res%html\u text()
小%
html_节点(“小”)%>%
html_text()%>%
gsub(“\\.”、“,)%>%
as.numeric()
是的,关于反应你是对的。我想在那里签一行“*Connection#0到www.bigpara.com的主机保持不变”。实际上,服务器返回一个响应,但当我更改变量“sirket”时,返回值并没有改变。如果您输入该链接并手动发送帖子,表将更改。但当我用R发布表单时,返回的页面总是一样的。发布表单不起作用。我忘了添加。例如,您可以尝试使用“FROTO”和“FENER”来比较它们。函数将返回相同的值,但它们不是。我仍然有相同的问题:当输入到页面时,默认页面是:Hisse:DOHOL,2014,9,TL,Standart,这意味着(Yil=“2014”,Donem=“3”,Kur=“TL”,Cins=“1”,HisseKod=“DOHOL”),以便返回值。我在R中更改这个值并发送表单。但我仍然得到相同的输出。例如,您可以尝试更改“Yil”变量。2012年或2011年。输出将是相同的,因为post表单不以这种方式工作。嗯,您需要诊断浏览器的不同之处-我建议您学习如何在浏览器中使用web inspector。当你不说这种语言的时候,很难理解一个网站是如何工作的。在你说了这些之后,我用PHP尝试了一下,它成功了。当我将2013年发布为“Yil”值时,它返回2013页,但在R中,它返回的都是同一页(DOHOL,2014,3,TL,1)。因此,我认为我的问题不在于HTML,而在于在R@Sab中使用HTML的方式。我对此表示怀疑——更可能的是,PHP使用了不同的curl默认值,因此它给出了不同的行为。在R和PHP中打开详细输出并比较请求。
span <- iconv(span,from="UTF-8",to="")
cikti <- cikti[cikti$span == "AKTİF TOPLAMI" ...]
cikti <- cikti[span == "AKTİF TOPLAMI" ...]
a <- postForm("http://www.bigpara.com/analiz/mali-tablolar/",
Yil = "2013", Donem = "4", Kur = "TL", Cins = "1", Submit = "Getir",
HisseKod = sirket)
a <- htmlParse(a)
span <- xpathSApply(a, "//div[@class='maliTable']//li//span", xmlValue)
span <- iconv(span,from="UTF-8",to="")
small <- xpathSApply(a, "//div[@class='maliTable']//li//small", xmlValue)
small <- gsub("[.]","",small)
small <- as.numeric(small)
cikti <- data.table(span, small)
cikti <- cikti[span == "AKTİF TOPLAMI" | span == "A K T İ F T O P L A M I"]
cikti <- cikti[order(-small)]
cikti <- cikti[1,]$small
res <- POST("http://www.bigpara.com/analiz/mali-tablolar/",
body = list(
Yil = "2013",
Donem = "4",
Kur = "TL",
Cins = "1",
HisseKod = "FENER"
),
encode = "form"
)
mali_table <- html(res) %>% html_nodes("div.maliTable li")
span <- mali_table %>% html_nodes("span") %>% html_text()
small <- mali_table %>%
html_nodes("small") %>%
html_text() %>%
gsub("\\.", "", .) %>%
as.numeric()
selected <- span %in% c("AKTİF TOPLAMI", "A K T İ F T O P L A M I")
data.frame(
span = span[selected],
small = small[selected]
)