载入棋谱之后,要实现一步步前进或者一步步后退来复盘播放整个棋局,现在载入棋谱之后只能退一步就无法就退回更多上一步了,这种如何解决呢
上面说到了,网站支持百度云加速,但同样的百度为了判断你是否为爬虫访问,会对浏览器进行监测。首次访问网站(有的运气好会访问几次后出现验证…),需要填写验证码确认非程序爬虫。之后才能正常使用。
但如果是拿requests进行url访问下载,怎么去破解?网上很多说什么js获取验证的,对于requests来说都不靠谱,当然你可以换成selenium前台模拟浏览器操作解析验证码然后去下载,先不说这验证码解析成果率多低,selenium的爬虫速度能和requests比?
我们该如何解决这个问题?我们先老老实实的输入验证码,然后看下面这张图:
http://pixabay.com网站存在7个cookie(显示9个是另外一个网站的…),然后一个一个查每个cookie的详细信息,连蒙带猜+验证,最后确定了,控制百度云的cookie有效期是通过cf_clearance时间来控制的,有效时长为一个半小时!
喜欢钻研的朋友可以考虑怎么修改这个时间,但对我来说,一个半小时够做太多东西了…
你的棋谱上记录的什么,是每一步到底下哪还是整个棋盘?
根据你如何记录的,那么前进和后退的方式也不一样
如果你记录的是整个棋盘,那直接删掉所有子,按照上一步/下一步的棋盘重新摆即可
如果你记录的是每一步下在哪,那根据坐标,如果前进则是添加棋子,如果后退则是删除对应坐标上的棋子