知乎模拟登录

  • bojack
  • 931 次点击

有没有人爬虫模拟登录比较熟悉,请教一下模拟登录知乎的问题,我抓取的xsrf和网站登录时post的xsrf不一样,一直登录不成功。不知道是什么原因!

  • 16 条回复 | 5 人参与
  • 前几天刚看一个爬知乎的资料,它是这么写的 '''python

    response_text = response.text match_obj = re.match('.name="_xsrf" value="(.?)"', response_text, re.DOTALL) xsrf = '' if match_obj: xsrf = (match_obj.group(1))

    '''

  • fuck-login 上的代码不能工作了么?

  • bojack # 3

    @追梦人物 好像是不能了

  • bojack # 4

    @追梦人物 这网站有点bug, 首先好像不能删帖,其次有个很奇怪的地方,当我第一次打开页面的时候,看到有提示消息,比如你回复我 ”fuck-login不能工作了么?”然后这个时候我是可以直接回复的,这是不是意味着我应该已经登录了? 但是等我回复之后,网站提醒我还没有登录!!!很奇怪 不知道你能不能看懂我说的意思。。。。

  • bojack # 5

    @kauidanian 这个我也看到过,这是用re正则表达式匹配出xsrf字符串,即使获取了xsrf字符串,和账号密码,用requests的 session一并post,获取返回的msg信息是登录成功,但是再用这个session去get发出首页请求,返回来的页面仍然是登录页面。这意味着,访问zhihu.com的时候没有从登录页面跳转到首页。我不知道是不是我有什么地方写错了,但是我自己操作是不成功的。

  • bojack # 6

    @追梦人物 还有就是点击数 感觉不应该只是“点击”数,一个用户的一次访问,无论按多少次应该都算一次才对,现在是我一次访问这个网站,没点击一次都算进了“点击”数,个人感觉怪怪的。。。。

  • 回复好像确实是个bug,但有时有问题,有时又没有。没有找到问题所在。 点击数的问题,这里可以看做pv,和v2ex 采取同样的策略。 @bojack

  • @bojack 按理说你在获取登录页面,并且添加xsrf和用户密码一同post,提交给scrapy后,在请求之后的页面的时候,scrapy会自动将cookie添加进去。你可以尝试先不用scrapy,单独请求登录,把cookie存到本地,再尝试读取随便去请求一个知乎的页面,看看能不能行。

  • @追梦人物 大佬博客怎么不更新了啊,难道在研究什么深奥的东西

  • 最近半个月在乡下,八月份恢复更新。@kauidanian

  • jesoonluo # 11

    为啥我没遇到这种问题?关键行:start_urls = ["https://www.zhihu.com/#signin"]

    _xsrf = response.css("input[name=_xsrf]::attr(value)").extract()[0]

  • bojack # 12

    @jesoonluo xsrf获取问题我已经解决了,请问你能成功模拟登陆吗

  • sunmouren # 13

    @追梦人物 大佬能不能提分享下这个社区的最新源码?(github上的已经很久没有更新了)

  • jesoonluo # 14

    @bojack 完全可以呀,就是验证码用老接口: captchaURL = "https://www.zhihu.com/captcha.gif?r=%d&type=login" % (time.time() * 1000),还得自己调input输入一下比较麻烦,也没找到一个好的图片处理的接口。

  • bojack # 15

    @jesoonluo 直接用selenium模拟可能会更方便。。。。

  • jesoonluo # 16

    @bojack 那肯定是可以。。。。

添加一条新回复
登录 或者 注册 后发表回复