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

2016-09-19 09:15:59 +08:00
 newhotter

是利用 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()
9554 次点击
所在节点    Python
33 条回复
whwq2012
2016-09-19 09:23:52 +08:00
我每次都是自己输入的,而且不需要用这么麻烦的, bilibili 可以直接 post 上去啊
newhotter
2016-09-19 09:28:17 +08:00
@whwq2012 恩。但是还是觉得 Selenium 这种看得见的比较舒服。
验证码实在不想输入。。太不智能了。。
感觉 captcha 没有什么通用的解决办法。。心塞。。
seerhut
2016-09-19 09:29:18 +08:00
google 打码平台
murmur
2016-09-19 09:32:20 +08:00
建议你最好放弃 机器人识别永远比不上人眼 被你们这群抓别人资料的人逼得 很多网站的验证码已经到人都人不出来的地步了
要么就打码。。
newhotter
2016-09-19 09:39:57 +08:00
@murmur 所以打码其实本质还是人工输入咯?
newhotter
2016-09-19 09:40:22 +08:00
@seerhut 恩,搜索了一下,感觉就是没有计算机自动识别的好办法?
lxy
2016-09-19 09:42:29 +08:00
B 站登录简单,验证也简单,识别率高,平均每条验证码不到一分钱。
newhotter
2016-09-19 09:45:47 +08:00
@lxy 那还是算了=。=那我换个方式装 B 好了。。。比如下载 B 站视频。。
wzxjohn
2016-09-19 09:47:43 +08:00
既然你在研究 B 站登陆,你就没发现从直播入口登陆不需要验证码么。。。有时候验证码并不只有识别出来一条路撒。
est
2016-09-19 09:48:53 +08:00
@wzxjohn 赞。。。跟微博一个路数!
newhotter
2016-09-19 09:52:06 +08:00
@wzxjohn 哈哈哈,丢人丢大发了,,还真是耶。。。
多谢哈。。
flowfire
2016-09-19 10:32:42 +08:00
B 站手机登录不需要验证码。。。可以试试逆向或者抓包搞个借口
leavic
2016-09-19 10:40:21 +08:00
用 cookies 绕过登录不行吗?
ookcode
2016-09-19 11:47:26 +08:00
感谢 wzxjohn 的提醒,原来还有直播登陆接口。
我原来也撸过一个 b 站的脚本,有兴趣的看看,里面有登录时的密码加密方式。
https://github.com/ookcode/BilibiliSofaSitter
Geoion
2016-09-19 12:19:20 +08:00
好的,马上修这个 bug
smileghost
2016-09-19 13:19:29 +08:00
@Geoion 哈哈哈, B 站的工程师能不能不要这么积极呀~
rulerstorm
2016-09-19 13:38:36 +08:00
@Geoion 哈哈哈,服。
qa52666
2016-09-19 13:41:28 +08:00
@Geoion 这很装逼
Staruo
2016-09-19 13:48:55 +08:00
@Geoion 23333333 ,可以的
reus
2016-09-19 14:10:03 +08:00
验证码本质就是阻挡自动登录,你研究出来方法,公开了,他们就会升级
就如直播登录接口,自己知道就好了,私下传就好了,说出来,很快就会被修了的
有路子且有脑子的人根本不会告诉你怎么做,免得你破坏了环境,例如把某些漏洞说了出去,搞到要重新找漏洞
自己研究,或者私下交流吧,毕竟是灰色地带

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

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

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

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

© 2021 V2EX