qq_36640630 2018-11-24 08:37 采纳率: 0%
浏览 822
已结题

用R爬虫需要登录的移动端数据,如何保持登录状态

真的很小白,最近在爬keep数据,但是发现需要登录,写完登录后发现还是爬不下来,因为没有保持登录状态,想问如何保持登录状态啊,貌似移动端也没有cookie啥的,只看到有Authorization,和这个有关系吗?求问大佬该怎么写啊?
代码里url_1是登录的页面,url_2是想爬取得页面,运行后登录成功,但是解析url_2还是显示401错误

library(stringr)
library(rvest)
library(httr)

url_1<-"https://api.gotokeep.com/account/v3/login/password"
header<-c(
  "User-Agent"="Keep+6.6.0%2FAndroid+6.0.1-14810+OPPO+OPPO+A57",
  "Content-Length"="89",
  "Content-Type"="application/json;charset=UTF-8",
  "Connection"="Keep-Alive",
  "Host"="api.gotokeep.com",
  "Accept-Encoding"="gzip",
  "sign"="7805206045d6542eadf4f232e2a9bc4e3d6911bf",
  "x-app-platform"="keepapp",
  "x-channel"="oppo",
  "x-device-id"="86424503954163238295a66895d1111122d94e50",
  "x-is-new-device"="false",
  "x-keep-timezone"="Asia/Shanghai",
  "x-locale"="zh--CN",
  "x-manufacturer"="OPPO",
  "x-model"="OPPO+A57",
  "x-os"="Android",
  "x-os-version"="6.0.1",
  "x-screen-height"="640",
  "x-screen-width"="360",
  "x-timestamp"="1542964394925",
  "x-version-code"="14810",
  "x-version-name"="6.6.0"
  )
payload<-list(
  "countryCode"="86",
  "countryName"="CHN",
  "mobile"="***",
  "password"="***")
content<-POST(url_1,add_headers(.headers = header),body = payload,encode = "json",verbose())
url_2<-"https://api.gotokeep.com/training/v3/mypage"
destination<-fromJSON(url_2)


  • 写回答

1条回答 默认 最新

  • threenewbee 2018-11-24 14:01
    关注

    抓包看下,有有Authorization应该是用的http基本验证,这是放在http头里的,而不是cookie
    https://blog.csdn.net/wochunyang/article/details/78675325

    评论

报告相同问题?

悬赏问题

  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调
  • ¥15 chatglm-6b应用到django项目中,模型加载失败
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。
  • ¥30 win c++ socket
  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多