有关cookie的解释及cookie与爬虫的关系:
https://blog.csdn.net/eye_water/article/details/89647639
https://mb.mbd.baidu.com/kp3m6ot?f=wf&u=7c1ba900754e2d7e
步骤:
1、获取cookie和user-agent:打开浏览器,在登录界面完成登录后,此时网页会跳转,按F12切到network,之后按F5刷新,找到与当前页面url一致的元素,点击显示请求信息。如下图所示,获取cookie信息和useragent
2、检查获得的信息
1)url
2)cookie
3)user-agent
3、调用RCurl获取网页信息
library(RCurl)
myheader<-c("cookie"=cookie,"user-agent"=user-agent)
web<-getURL(url,httpheader=myheader)
write.table(web,"web.html")#检查一下下载下来的网页
#之后再解析网页等
#也可以使用rvest中的html_session进行动态访问
web<-html_session(url,add.header(myheader))#注意这里提交信息的函数来自于httr包中的,也可以用set_cookies等函数
page<-read_html(web)
#查看是否登录成功
page<-as.character(page)
page
4、这种方法实测可以爬取教务处网站、qq邮箱页面等静态页面,淘宝微博(微博的个人主页不可以,因为是动态页面,但是热搜啥的还是可以爬的)等也可以顺利登录,但是由于是动态加载的页面,因此也没有办法实现爬取(悲伤)
5、另外经过实测,登录一次获得cookie可以保证在该站内访问网页时不受登录限制!