【发布时间】:2015-08-20 16:11:15
【问题描述】:
我正在尝试从 R 向 http://revigo.irb.hr/ 提交查询,但我遇到了困难。该页面似乎是 HTML 和 Javascript 的混合体,这使简单的 postForm() 解决方案变得复杂。查询是一个字符串(或字符串列表),如“GO:0004432”,结果页面有一个链接“将结果导出到文本表 (CSV)”以将数据下载为 .csv。以下使用 httr 的代码似乎没有从提交查询后出现的页面返回任何内容:
library(httr)
url <- "http://revigo.irb.hr/"
fd <- list(
submit = "Start Revigo",
goList1="GO:0004432"
)
resp<-POST(url, body=fd, encode="form")
resp
Response [http://revigo.irb.hr/]
Date: 2015-08-20 15:57
Status: 200
Content-Type: text/html;charset=UTF-8
Size: 18.5 kB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title> REVIGO summarizes and visualizes long lists of Gene Ontology terms...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="styles.css" type="text/css"></link>
<script type="text/javascript" src="js/jQuery/jquery-1.4.1.min.js" > </scri...
<script type="text/javascript" src="js/jQuery/jquery.qtip-1.0.0-rc3.min.js...
如何处理这样的任务?我想象工作流程看起来像: 获取 url,分配参数(textarea,单选按钮等,提交按钮),使用 url 和参数运行 getForm 之类的东西,在结果页面中搜索指向 .csv 的链接,然后在该 url 上运行 read.csv()。
我的背景是 R,对 HTML 和 Javascript 的了解非常非常少。查看过去的问题,看起来最好是 RSelenium、RCurl 或 httr,或者其他包。任何建议或相关问题的链接表示赞赏!
【问题讨论】:
标签: javascript html r rcurl httr