python+ddddocr搜狗站长平台自动识别验证码

Python与SEO 思享 408浏览

我们知道搜狗站长平台提交验证网站一次只能提交20条且需要输入验证码,非验证网站更是需要一条一个验证码的提交。这样有违解放双手的初衷,那么,我们该如何实现自动识别搜狗站长平台的验证码呢?

搜狗搜索

网上的方案其实有很多,我找到了一个能用的就没继续研究了,以下提供给大家参考:

代码

import requests
import ddddocr
from svglib.svglib import svg2rlg
from reportlab.graphics import renderPM
import time

session = requests.session()
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0"}
code_url = "https://zhanzhang.sogou.com/api/user/generateVerifCode?timer=%d" % int(((time.time()) * 1000))
login_code = session.get(url=code_url, headers=headers, timeout=5)
with open('code.svg', 'wb')as f:
    f.write(login_code.content)
pic = svg2rlg('./code.svg')
renderPM.drawToFile(pic, 'code.png')
ocr = ddddocr.DdddOcr()
with open('code.png', 'rb') as f:
    img_bytes = f.read()
code = ocr.classification(img_bytes)
print(code)

搜狗站长平台的验证码是SVG格式的,所以需要转换成png,最后用ddddocr库识别,成功率不高也不低,能够满足我的个人需求

推荐阅读

Python实现聚合问答采集文章

最近在一个社区得到了一个用python聚合问答的工具,但是因为已经打包成程序了,所以无法研究,于是在网上找了一个网友分享的源代码,转载于此,供志愿者学习和后期扩展。这个工具可以通过头条搜索、百度下拉结果、搜狗下拉、百度知道搜索、新浪爱问、搜狗问问,将......

pycharm怎么用国内镜像安装第三方库

1、在pycharm中打开Terminal,如下图。 2、以安装pymysql库为例,输入以下命令回车即可使用镜像安装。 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql ......

搜狗联盟网盟产品将于2022年12月31日起正式停服

在那之后,搜狗联盟没有被使用。由于公司业务调整,搜狗联盟网盟产品将于2022年12月31日起正式停产,本网站将于2023年2月初关闭。对于此次停售给您带来的不便,我们深表遗憾和歉意,并且还将在未来2个月内为您提供结算服务。具体线下节奏和结算方案如下:...