您将无法通过 URL 操作页面的 javascript 状态,因此如果您想与表单进行交互,则需要在可以与页面交互的环境(如RSelenium)中工作。但这打开了蠕虫的花药罐头。鉴于他们希望您为他们的服务付费,他们可能不太热衷于自动抓取。
据我所知,他们没有正式记录的 API,但是当您单击站点上的“共享”链接时,它会向他们的服务器提交一个 JSON 对象以获取可共享的 URL。有效载荷看起来像
{"title":"Untitled Regex",
"description":"No description",
"regex":"(?<=foo)\\s*foo[A-Z]\\d{2,3}\n",
"flavor":"python",
"strFlags":"",
"testString":"My test data",
"unitTests":"[]",
"share":true}
因此,如果您绕过 UI 并直接发布该 JSON 内容,您可以获得可用于浏览以查看结果的唯一代码。那看起来像
payload<-list(title="Untitled Regex",
description="No description",
regex="(?<=foo)\\s*foo[A-Z]\\d{2,3}\n",
flavor="python",
strFlags="",
testString="My test data",
unitTests="[]",
share=TRUE)
library(httr)
library(jsonlite)
rr <- POST("https://www.debuggex.com/api/regex",
body=lapply(payload, unbox), encode="json")
url <- paste0("https://www.debuggex.com/r/", content(rr)$token)
browseURL(url)
这是一个非常脆弱的解决方案,因为他们可能随时选择更改其实现。最好使用他们官方支持的功能。