运行在服务器上的爬虫程序给别人用, cookie 如何区分使用?

2019-05-08 15:58:03 +08:00
 sugarkeek

问题:我做了一个模拟登录查成绩的 python 爬虫程序,现在想运行在服务器上给别人用。但是我处理不好别人模拟登录后的 cookie,求思路。

尝试过的办法: 1、我一开始没意识到这个问题,我最先登录,结果大家打开网站,不用登录,都是我的成绩 QAQ ; 2、尝试用把爬虫得到的 cookie 用保存到他们自己浏览器里的 session,然后每个页面读取浏览器里的 cookie,这个办法是可以的,用了一段时间。

因为我总是到了节点才去维护,最近又是查成绩的高峰,又来维护一下代码,想优化一下。我总感觉 cookie 存储在浏览器里然后再读取的办法很低级,感觉应该用 mysql/redis 存储,但是又没什么思路,但是这个问题我还不知道怎么描述好,大家爬虫就是自己爬完就数据分析了。所以就不知道怎么用搜索引擎搜索。感觉应该很简单,自己可能钻了牛角尖。

1991 次点击
所在节点    Python
6 条回复
TypeErrorNone
2019-05-08 16:03:11 +08:00
登录进你系统的用户分配个 id,用 id 对应 cookie
ila
2019-05-08 16:19:48 +08:00
用 django 建个后台?
opengps
2019-05-08 17:47:02 +08:00
所有的爬取,都替换成用户自己的 cookie 就行吧
Flasky
2019-05-08 18:34:10 +08:00
模拟登录后获得的 Cookie 处理一下过期时间,再传给用户就可以了吧。查询的时候取用户的 Cookie,模拟查询的时候带上就 OK 了。
sugarkeek
2019-05-08 18:59:05 +08:00
@TypeErrorNone 那要建个表吗,用户和 cookie 的表

@ila 怎么说?虽然用的是 flask,但是还是想听听

@opengps 我试试,因为之前没搞懂传参,session 直接设置成全局变量了,我再研究研究。

@Flasky 嗯嗯,我试试这一系列的逻辑
unixeno
2019-05-08 19:13:46 +08:00
这种就用他们的学号做你的用户系统呗
登录也用学号和他们的密码
另外你们的 cookie 不过期的吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562231

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX