哪个R包提供了类似pythons urllib的功能

2024-04-23 21:31:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我的任务是将一段使用pythonurllib的python代码移植到R。 这是整个python代码:

import urllib.parse
import urllib.request

url = "https://www.uniprot.org/uploadlists/"

params = {
  "from": "ACC+ID",
  "to": "ENSEMBL_ID",
  "format": "tab",
  "query": "P40925 P40926 O43175 Q9UM73 P97793"
}

data = urllib.parse.urlencode(params)
data = data.encode("utf-8")
req = urllib.request.Request(url, data)
with urllib.request.urlopen(req) as f:
  response = f.read()
print(response.decode("utf-8"))

我并不热衷于使用pastepaste0在R中手动构建url。 我找到的是Rurltools包。 但是它不能像urllib.parse.urlencode那样帮助我对数据进行url编码。你知道吗

要用什么R包来重新实现python代码?或者我应该使用reticulate?你知道吗

谢谢


Tags: 代码httpsimportidurldataparseresponse
1条回答
网友
1楼 · 发布于 2024-04-23 21:31:38

我认为httr应该完成这项工作:

url <- "https://www.uniprot.org/uploadlists/"

params = list(
  from = "ACC+ID",
  to = "ENSEMBL_ID",
  format = "tab",
  query = "P40925 P40926 O43175 Q9UM73 P97793"
)

r <- httr::POST(url, body = params, encode = "form")
cat(httr::content(r))
#> No encoding supplied: defaulting to UTF-8.
#> From To
#> P40925   ENSG00000014641
#> P40926   ENSG00000146701
#> O43175   ENSG00000092621
#> Q9UM73   ENSG00000171094
#> P97793   ENSMUSG00000055471

reprex package(v0.3.0.9000)于2019-09-02创建

相关问题 更多 >