- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想提取下面页面中的表格
https://www.mcxindia.com/market-data/spot-market-price
我已经尝试过 rvest 和 RCurl,但在这两种情况下,下载的页面与我在浏览器中看到的不同。我假设存在某种我无法检测或跟踪的重定向形式
任何帮助将不胜感激
PS:对phantomjs不感兴趣
这是我到目前为止尝试过的:
<强>1。 HTTR
base_url <- "https://www.mcxindia.com/market-data/spot-market-price"
ua <- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
library(httr)
library(XML)
doc <- POST(base_url,user_agent(ua),set_cookies(`_ga` = "GA1.2.543290785.1505100652",`_gid`="GA1.2.1409943545.1505881384",`_gat`="1"))
doc <- htmlParse(doc)
poptable<-readHTMLTable(doc,which=7)
结果:未找到数据!!!!
<强>2。 RCurl
library(RCurl)
curl <- getCurlHandle()
curlSetOpt(curl = curl,
ssl.verifypeer = FALSE,
useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
timeout = 60,
followlocation = TRUE,
cookiejar = "./cookies",
cookiefile = "./cookies")
newDoc = getURL("https://www.mcxindia.com/market-data/spot-market-price", curl=curl)
newDoc <- htmlParse(newDoc)
poptable<-readHTMLTable(newDoc,which=7)
结果:未找到数据!!!!
我也很想知道如何获取 excel 文件(见 excel 小图标)
最佳答案
答案在这里
library(rvest)
library(stringi)
library(V8)
ctx <- v8()
pg <- read_html("https://www.mcxindia.com/market-data/spot-market-price")
html_nodes(pg, xpath=".//script[contains(., 'Data')]")[[1]] %>%
html_text() %>% stri_unescape_unicode() %>% stri_replace_all_fixed('\\\\', '')%>%
ctx$eval() -> ignore_the_blank_return_value
data <- ctx$get("vSMP")$Data[,c("Symbol","TodaysSpotPrice","Unit")]
尽情享受吧!
关于rvest - 使用 rvest 或 RCurl 或 httr 在 R 中抓取页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46318348/
我尝试使用 RSelenium 打开远程驱动程序,但我一直面临着与 Docker 相同的问题。 在 Docker 中我运行 $ docker run -d -p 4445:4444 selenium/
下面的代码在交互模式下工作正常,但在函数中使用时失败。非常简单的两个身份验证 POST命令后跟数据下载。我的目标是让它在一个函数中工作,而不仅仅是在交互模式下。 这个问题有点像 this questi
在 python我用requests通过以下方式调用 API(遗憾的是无法共享 API 本身,因此很难重现): import requests url = url headers = {'API-ke
我正在尝试使用 httr 构建 POST json 请求。 API 文档提出了以下 CURL 请求: curl -X POST -H "Authorization:Token XXXXXXXXX" -
我正在尝试获得 that form 的结果与 httr . 看了form results ,我尝试了以下方法: library(httr) library(stringr) r = str_c("ht
我在 AWS“Ubuntu Server 12.04.2 LTS”上运行 R Studio 并通过浏览器访问 R Studio。 当我尝试使用包 ROAuth 在 Twitter API 上进行身份验
这个 curl 调用用于在 Digital Ocean 上创建一个新的 droplet curl -X POST "https://api.digitalocean.com/v2/droplets"
我想抓取这个website , 并从表中获取数据。 我使用httr包中的GET,代码如下: url \r\n\t\r\n\t\t中华人民共和国环境保护部--政府网站数据中心\r\n\t\t使用 fil
我想在 url 中传递几个 post 参数,比如两个参数 p1 和 p2。 p1 和 p2 的值为 xyz(字符串)和 1(数字)。以下命令之间有什么区别: POST(url, body=list(p
我在从以下网站提取数据时遇到问题。如果我通过浏览器访问 long_url,我可以看到我想要抓取的表格,但是如果我使用 httr 从 R 中调用 url,我要么没有将数据返回给我,要么我不明白如何它正在
我正在尝试通过美国人口普查地理编码器对一组地址进行批量地理编码:http://geocoding.geo.census.gov/geocoder/ 我发现了这个问题: Posting to and R
我正在使用 R 调用 Cybersource API。当我使用 GET 请求时,我获得了 200 的成功响应。当我读取响应的主体而不是取回 csv 数据时,我得到了 csv 文件路径的路径。我想知
我需要使用不同的“ key ”访问同一个网页以获取它提供的特定内容。 我有一个键列表 x我使用 GET来自 httr 的命令包访问网页,然后检索我需要的信息y . library(httr) libr
在 MS Windows 上尝试通过 httr::GET() 调用中的 httr::user_agent 更改用户代理时,有什么特别需要考虑的吗?我使用的是 R-3.1.0 和 httr 0.3。 按
我想在使用 R httr 包的请求中设置 header ,当我在变量中有 header 的名称时设置 header 。 我想做这样的事情: tokenName = 'X-Auth-Token' get
我正在尝试以编程方式下载文件,例如 this从 ftp。 主页公开提供用户名(“fire”)和密码(“burnt”),我可以从浏览器下载文件没有问题。 当我尝试使用 httr::GET() 在 R 中
我正在尝试使用 httr 下载 1.1 GB 的文件,但遇到以下错误: x sessionInfo() R version 3.0.0 (2013-04-03) Platform: i386-w64
我想这是一些非常简单的 curl 代码,我正试图将其转换为 httr 格式。 curl -X POST \ --user ':' \ --header 'user-key: ' \ --u
我陷入了一个关于 CURL 和 SSL 的错误中,我不知道发生了什么。 我已经更新了所有可能的包,并成功地从其他 HTTPS 请求中获得了响应。我在 Windows 7 和 10 上试过。 这段代码有
免责声明:虽然我已经设法使用 httr 的 POST 函数从另一个来源获取数据,但请大家知道,我在 httr 和 HTML 表单方面是个十足的菜鸟。 我想使用 httr 从网站直接将一些数据导入 R。
我是一名优秀的程序员,十分优秀!