V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sugarkeek
V2EX  ›  Python

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

  •  
  •   sugarkeek · 2019-05-08 15:58:03 +08:00 · 2036 次点击
    这是一个创建于 2026 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    @Flasky 嗯嗯,我试试这一系列的逻辑
    unixeno
        6
    unixeno  
       2019-05-08 19:13:46 +08:00 via Android
    这种就用他们的学号做你的用户系统呗
    登录也用学号和他们的密码
    另外你们的 cookie 不过期的吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1650 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:55 · PVG 00:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.