推荐学习书目
› 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
newhotter
V2EX  ›  Python

写了个爬虫登录知乎和 Bilibili 网站,求教验证码识别

  •  2
     
  •   newhotter · Sep 19, 2016 · 11070 views
    This topic created in 3699 days ago, the information mentioned may be changed or developed.

    是利用 Selenium 写的。 想装逼但是装的不是很畅快,因为不好识别验证码。具体的可以看利用 Selenium 来实现知乎和 Bilibili 的登录,求给点建议。 这是 Bilibili 的登录代码。

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    from selenium import webdriver
    import time
    
    browser = webdriver.Chrome()
    browser.get('https://passport.bilibili.com/login')
    
    browser.find_element_by_name("userid").send_keys("input_your_userid")
    browser.find_element_by_name("pwd").send_keys("input_your_password")
    time.sleep(10)
    #browser.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[3]/form").submit()
    browser.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[3]/form/input[4]").submit()
    
    33 replies  •  2016-09-20 14:38:05 +08:00
    syahd
    syahd
    Sep 19, 2016 via Android
    1
    我每次都是自己输入的,而且不需要用这么麻烦的, bilibili 可以直接 post 上去啊
    newhotter
    newhotter
    OP
    Sep 19, 2016
    2
    @whwq2012 恩。但是还是觉得 Selenium 这种看得见的比较舒服。
    验证码实在不想输入。。太不智能了。。
    感觉 captcha 没有什么通用的解决办法。。心塞。。
    seerhut
    seerhut
    Sep 19, 2016
    3
    google 打码平台
    murmur
    murmur
    Sep 19, 2016
    4
    建议你最好放弃 机器人识别永远比不上人眼 被你们这群抓别人资料的人逼得 很多网站的验证码已经到人都人不出来的地步了
    要么就打码。。
    newhotter
    newhotter
    OP
    Sep 19, 2016
    5
    @murmur 所以打码其实本质还是人工输入咯?
    newhotter
    newhotter
    OP
    Sep 19, 2016
    6
    @seerhut 恩,搜索了一下,感觉就是没有计算机自动识别的好办法?
    lxy
    lxy
    Sep 19, 2016
    7
    B 站登录简单,验证也简单,识别率高,平均每条验证码不到一分钱。
    newhotter
    newhotter
    OP
    Sep 19, 2016
    8
    @lxy 那还是算了=。=那我换个方式装 B 好了。。。比如下载 B 站视频。。
    wzxjohn
    wzxjohn
    Sep 19, 2016❤️2
    9
    既然你在研究 B 站登陆,你就没发现从直播入口登陆不需要验证码么。。。有时候验证码并不只有识别出来一条路撒。
    est
    est
    Sep 19, 2016
    10
    @wzxjohn 赞。。。跟微博一个路数!
    newhotter
    newhotter
    OP
    Sep 19, 2016
    11
    @wzxjohn 哈哈哈,丢人丢大发了,,还真是耶。。。
    多谢哈。。
    flowfire
    flowfire
    Sep 19, 2016
    12
    B 站手机登录不需要验证码。。。可以试试逆向或者抓包搞个借口
    leavic
    leavic
    Sep 19, 2016
    13
    用 cookies 绕过登录不行吗?
    ookcode
    ookcode
    Sep 19, 2016
    14
    感谢 wzxjohn 的提醒,原来还有直播登陆接口。
    我原来也撸过一个 b 站的脚本,有兴趣的看看,里面有登录时的密码加密方式。
    https://github.com/ookcode/BilibiliSofaSitter
    Geoion
    Geoion
    Sep 19, 2016❤️1
    15
    好的,马上修这个 bug
    smileghost
    smileghost
    Sep 19, 2016
    16
    @Geoion 哈哈哈, B 站的工程师能不能不要这么积极呀~
    rulerstorm
    rulerstorm
    Sep 19, 2016
    17
    @Geoion 哈哈哈,服。
    qa52666
    qa52666
    Sep 19, 2016 via Android
    18
    @Geoion 这很装逼
    Staruo
    Staruo
    Sep 19, 2016
    19
    @Geoion 23333333 ,可以的
    reus
    reus
    Sep 19, 2016
    20
    验证码本质就是阻挡自动登录,你研究出来方法,公开了,他们就会升级
    就如直播登录接口,自己知道就好了,私下传就好了,说出来,很快就会被修了的
    有路子且有脑子的人根本不会告诉你怎么做,免得你破坏了环境,例如把某些漏洞说了出去,搞到要重新找漏洞
    自己研究,或者私下交流吧,毕竟是灰色地带
    ookcode
    ookcode
    Sep 19, 2016
    21
    @Geoion 23333 ,我服
    newhotter
    newhotter
    OP
    Sep 19, 2016
    22
    @Geoion 哈哈哈哈哈。服气。。。这两天充分利用一下这个 bug 。。
    EyreFree
    EyreFree
    Sep 19, 2016
    23
    @Geoion 666666
    azuginnen
    azuginnen
    Sep 19, 2016
    24
    哈哈,真的是 b 站的呀


    Block
    Geoion
    bilibili.com
    V2EX 第 126853 号会员,加入于 2015-07-13 01:17:19 +08:00 ,今日活跃度排名 1238
    42 S 97 B
    Geoion
    Geoion
    Sep 19, 2016
    25
    @azuginnen 是 B 站,不过不是直播部门
    Geoion
    Geoion
    Sep 19, 2016
    26
    @smileghost 哈哈,知会一下负责这个的部门而已
    iannil
    iannil
    Sep 19, 2016
    27
    在全球工单系统不能乱说话,各厂的人都有
    Srar
    Srar
    Sep 19, 2016
    28
    我一个同群朋友用机器学习写了一个 bilibili 验证码识别 https://github.com/bilibiliHack/bilibiliCaptcha
    xiao201261
    xiao201261
    Sep 19, 2016
    29
    bilibili 有些登录 page 并不需要验证码。。
    liuxu
    liuxu
    Sep 19, 2016
    30
    @Geoion 斗智斗勇 233
    newhotter
    newhotter
    OP
    Sep 19, 2016
    31
    @Srar 厉害啊! star 了
    fleer
    fleer
    Sep 20, 2016 via Android
    32
    @Geoion 我也说个吧, av10492 不需要登录验证,也就是一些会员才能观看的页面不需要验证,我懒得输验证码就回去 10492,,Ծ^Ծ,,
    figofuture
    figofuture
    Sep 20, 2016
    33
    mark
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1385 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 22:39 · PVG 06:39 · LAX 14:39 · JFK 17:39
    ♥ Do have faith in what you're doing.