首页 > 解决方案 > 在标头 cookie 的 _ga 和 _gid 中显示错误

问题描述

我是 R 新手,我想将 5 分钟的库存数据导入到 excel 表中,但我在代码中发现了一个意外错误,错误显示在 16、17 和 75,76 行,实际上是 Header cookie,例如:- _ga 和 _gid

它显示-错误:“_”中的意外输入现在不显示它的原因

下面是源代码:

library(httr)
library(curl)
library(mime)
library(openssl)
library(R6)
library(jsonlite)

###### Input to the code ######
###### Right click on the zerodha chart page and go to inspect element, go to network, find the chart link and extract below values

symbol_list<-read.csv("D://Trading/Stocks IDs.csv")
path_to_store_data<-("D:/Trading/R Experiement/")

_ga="GA1.2.416497127.1623159701"
_gid="GA1.2.4254895.1626415653"
enctoken="ib1rlX0e8dvp3qsnGvoL4aH3zsBgJA4kxtDPkUd+AMe7p6M6X26mn5w7EapJ+dMbZDtxZif59a2IhLLOwy5xEJAEnZ8iFYohilpfckj1bp8Mf9kX9RoHSA=="
kf_session="g665FGdUPvLaikeQQTomiejLqJYcUPg6"
public_token="bOrpvYIZJ4rhR8ytnAPccc9VFsTZjvSP"

user_id="ZE6166"

from="2021-07-01"
to="2021-07-16"

dir.create(paste0(path_to_store_data,from,"to",to))
path_to_store_data=paste0(path_to_store_data,from,"to",to,"/")
st <- as.Date(from)
en <- as.Date(to)

###### Specify Interval
###### minute,2minute,3minute,4minute,10minute,15minute,60minute,day

interval="5minute"  
data_pull<-function(symbol_list){
  i=1
  for (i in i:nrow(symbol_list)){
    ID=symbol_list[i,2]
    symbol_name=symbol_list[i,1]
    print(ID)
    print(symbol_name)
    
    theDate <-st
    datalist = list()
    big_data<-data.frame()
    print(theDate)
    print(en)
    while (theDate<=en)
      
    {
      
      NextDate<-  as.Date(theDate+30)
      
      if (NextDate > as.Date(Sys.Date())){
        NextDate<-en
      }  
      dt_range=paste0(theDate,"&to=",NextDate)
      print(dt_range)  
      
      url<- paste0("https://kite.zerodha.com/oms/instruments/historical/",ID,"/",interval)
      httr::GET(
        url = url,
        add_headers(authorization=enctoken),
        query = list(
          user_id = user_id,
          oi = "1",
          from = theDate,
          to = NextDate,
          _ga= _ga,
          _gid= _gid,
          kf_session= kf_session,
          public_token=public_token,
          user_id= user_id,
          enctoken= enctoken
        )
      ) -> res
      
      dat <- httr::content(res)
      
      jsonRespText<-content(res,as="text")
      #print(jsonRespText)
      document<-fromJSON(txt=jsonRespText)
      
      x<-document[["data"]]
      y<-x[["candles"]]
      
      
      
      if (length(y) <5){
        theDate<-as.Date(theDate)+30
        next
        print("hi")
        
        print(theDate)
        
      }
      
      
      dt<-as.data.frame(document)
      dt<-dt[-1]
      colnames(dt)[1]<-"TIME"
      colnames(dt)[2]<-"Open"
      colnames(dt)[3]<-"High"
      colnames(dt)[4]<-"Low"
      colnames(dt)[5]<-"CLOSE"
      colnames(dt)[6]<-"VOLUME"
      colnames(dt)[7]<-"SYMBOL"
      dt$SYMBOL<-symbol_name
      
      dt$TIME<-gsub("\\+0530","",dt$TIME)
      
      dt$TIME<-gsub("T"," ",dt$TIME)
      dt$Date <- as.Date(dt$TIME) #already got this one from the answers above
      dt$TIME1 <- format(as.POSIXct(dt$TIME) ,format = "%H:%M:%S")
      datalist[[i]] <- dt
      #print("4")
      
      
      theDate<-as.Date(theDate)+30
      big_data = rbind(big_data,dt)
      print(theDate)
    }
    
    
    file= paste0(path_to_store_data,symbol_name,".csv",sep="")
    print(file)
    write.csv(big_data,file,row.names = F)
    
    
    print(theDate)  
  }
  
}

undebug(data_pull)
data_pull(symbol_list)

这是一个错误图像

在此处输入图像描述

标签: r

解决方案


推荐阅读