豆瓣如何让我泪流满面,男默女泪,关于知乎和豆瓣的滑动验证码破解的故事

我看了一篇关于如何破解豆瓣滑动验证码的博客后,跟着敲了一遍,然后其实我一开始是想破解知乎的滑动验证码的,然后找到的是豆瓣的,我想都是滑动验证码,就敲了豆瓣的。

这是他的链接

作为一只Python爬虫:如何破解滑动验证码-CSDN博客

然后我想用他这个方法破解知乎的验证码,却一直出错,后来我知道了原因。

这是豆瓣的十张验证码图片,本来是十张的,但是我发现很多重复的,去掉重复的就这几张。

用他那个检测轮廓算周长面积的方法。

 

再看看知乎的验证码

知乎的图片非常复杂,简单的算周长和面积没用,下面是那个前面链接博主的代码。

for contour in contours:
    # contourArea方法用于计算轮廓的面积
    area = cv2.contourArea(contour)
    # arcLength方法用于计算轮廓的周长或弧长
    length = cv2.arcLength(contour, True)
    print('5')
    # print(area,length)
    # 如果检测区域面积在5025-7225之间,周长在300-380之间,则是目标区域
    if 4900 < area < 6400 and 280 < length < 320:
        # 计算轮廓的边界矩形,得到坐标和宽高
        # x, y: 边界矩形左上角点的坐标。
        # w, h: 边界矩形的宽度和高度。
        x, y, w, h = cv2.boundingRect(contour)
        print("计算出目标区域的坐标及宽高:", x, y, w, h)
        # 在目标区域上画一个红框看看效果
        print('6')
        cv2.rectangle(image, (x, y), (x+w, y+h), (0, 0, 255), 2)
        cv2.imwrite("222.jpg", image)
        print('7')
        return x

 因为opencv根本找不到这个碎片的轮廓,所以上面的代码是行不通的。

我能说什么呢,豆瓣啊,你真是太好了,你就好像故意给爬虫新手练手似的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值