Python爬虫运行中遇到手机验证码怎么解决?

我的爬虫 在爬取的过程中 说账号异常出现手机验证码 单用户没有多的账号


Python爬虫运行中遇到手机验证码怎么解决?
11 回复

人家网站有反爬措施,你要爬的数据多的话肯定会被发现。
你只能多注册几个账号,然后花钱弄个 ip 代理,每个账号用不同 ip 发请求。
吃相文雅一些。


用Selenium自动化操作浏览器,配合Twilio等短信服务接收验证码,或者直接用打码平台API自动识别。

核心代码示例(使用Selenium + 打码平台):

from selenium import webdriver
import requests
import time

# 打码平台API(以超级鹰为例)
def crack_captcha(img_path):
    url = "http://upload.chaojiying.net/Upload/Processing.php"
    data = {
        'user': '你的账号',
        'pass': '你的密码',
        'softid': '软件ID',
        'codetype': '1004'  # 验证码类型
    }
    files = {'userfile': open(img_path, 'rb')}
    resp = requests.post(url, data=data, files=files)
    return resp.json()['pic_str']

driver = webdriver.Chrome()
driver.get("目标网站")
# 截图验证码区域
driver.save_screenshot('page.png')
# 调用打码API
code = crack_captcha('page.png')
# 填入验证码并提交
driver.find_element_by_id('captcha_input').send_keys(code)

总结:自动化工具配合第三方服务是主流解决方案。

只能控制延时 /用代理避免出现这种情况才是解决之道

短信验证码:额外做个服务端,手机 app 写个短信处理程序(仅限安卓)…
如果是图片验证码:调用打码平台或者自建训练库
之前兼职做过抢单软件,都是这个套路…

关键还是爬的时候做好处理,路由器切 ip 也好,挂代理也好,或者降低频度啥的都行。。。别想着一次全爬光,分批次分时段会好很多。。。

我的爬虫最近遇到一个难题,button 居然不能点

用 js 把 button dom 上的 disabled 去掉即可,我在浏览器上都是手动解决的

延迟了 10 秒也不行

短信验证码 能详细点吗?

我只说下我之前项目的短信验证码方案
1、一个接收和储存短信验证码的服务端
2、android 的手机 app 用来读取本机的短信,匹配到指定的短信,上传服务端
3、爬虫程序检测到短信验证,调用服务器的接口获取短信
程序都很简单,功能也不多,就是需要这三块你都能写点代码。

是不是需要写个 android 程序? 我只是学了一点 python 的小白

ios 的印象里正常情况下无法获取短信权限,android 的可以自己写个简单的读取短信并上传的程序,多学一点吧,网上都有教程,这个功能点也不多

回到顶部