问题:我做了一个模拟登录查成绩的 python 爬虫程序,现在想运行在服务器上给别人用。但是我处理不好别人模拟登录后的 cookie,求思路。
尝试过的办法: 1、我一开始没意识到这个问题,我最先登录,结果大家打开网站,不用登录,都是我的成绩 QAQ ; 2、尝试用把爬虫得到的 cookie 用保存到他们自己浏览器里的 session,然后每个页面读取浏览器里的 cookie,这个办法是可以的,用了一段时间。
因为我总是到了节点才去维护,最近又是查成绩的高峰,又来维护一下代码,想优化一下。我总感觉 cookie 存储在浏览器里然后再读取的办法很低级,感觉应该用 mysql/redis 存储,但是又没什么思路,但是这个问题我还不知道怎么描述好,大家爬虫就是自己爬完就数据分析了。所以就不知道怎么用搜索引擎搜索。感觉应该很简单,自己可能钻了牛角尖。
1
TypeErrorNone 2019-05-08 16:03:11 +08:00
登录进你系统的用户分配个 id,用 id 对应 cookie
|
2
ila 2019-05-08 16:19:48 +08:00 via iPhone
用 django 建个后台?
|
3
opengps 2019-05-08 17:47:02 +08:00
所有的爬取,都替换成用户自己的 cookie 就行吧
|
4
Flasky 2019-05-08 18:34:10 +08:00 via Android
模拟登录后获得的 Cookie 处理一下过期时间,再传给用户就可以了吧。查询的时候取用户的 Cookie,模拟查询的时候带上就 OK 了。
|
5
sugarkeek OP @TypeErrorNone 那要建个表吗,用户和 cookie 的表
@ila 怎么说?虽然用的是 flask,但是还是想听听 @opengps 我试试,因为之前没搞懂传参,session 直接设置成全局变量了,我再研究研究。 @Flasky 嗯嗯,我试试这一系列的逻辑 |
6
unixeno 2019-05-08 19:13:46 +08:00 via Android
这种就用他们的学号做你的用户系统呗
登录也用学号和他们的密码 另外你们的 cookie 不过期的吗? |