1.使用selenium 手动输入
2.使用打码平台(超级鹰http://www.chaojiying.com/price.html)推荐
3.机器学习

去第三方打码平台注册账号(超级鹰),拿到Python的接口压缩包

#!/usr/bin/env python
# coding:utf-8import requests
from hashlib import md5class Chaojiying_Client(object):def __init__(self, username, password, soft_id):self.username = usernamepassword =  password.encode('utf8')self.password = md5(password).hexdigest()self.soft_id = soft_idself.base_params = {'user': self.username,'pass2': self.password,'softid': self.soft_id,}self.headers = {'Connection': 'Keep-Alive','User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',}def PostPic(self, im, codetype):"""im: 图片字节codetype: 题目类型 参考 http://www.chaojiying.com/price.html"""params = {'codetype': codetype,}params.update(self.base_params)files = {'userfile': ('ccc.jpg', im)}r = requests.post('http://upload.chaojiying.net/Upload/Processing.php', data=params, files=files, headers=self.headers)return r.json()def ReportError(self, im_id):"""im_id:报错题目的图片ID"""params = {'id': im_id,}params.update(self.base_params)r = requests.post('http://upload.chaojiying.net/Upload/ReportError.php', data=params, headers=self.headers)return r.json()if __name__ == '__main__':chaojiying = Chaojiying_Client('超级鹰用户名', '超级鹰用户名的密码', '96001')   #用户中心>>软件ID 生成一个替换 96001im = open('a.jpg', 'rb').read()                                                  #本地图片文件路径 来替换 a.jpg 有时WIN系统须要//print chaojiying.PostPic(im, 1902)                                               #1902 验证码类型  官方网站>>价格体系 3.4+版 print 后要加()

使用爬虫

from chaojiying_Python.chaojiying import Chaojiying_Client
import random
import requestsheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'
}# 验证码url
# http://icode.renren.com/getcode.do?t=web_login&rnd=0.33034738219753246
def get_code():url = 'http://icode.renren.com/getcode.do?t=web_login&rnd=' + str(random.random())response = session.get(url, headers=headers)# 图片二进制存入本地with open('code.jpg', 'wb') as fp:fp.write(response.content)# 用超级鹰来破解验证码chaojiying = Chaojiying_Client('niejeff', 'abcdef123456', '898304')img = open('code.jpg', 'rb').read()code = chaojiying.PostPic(img, 1902)['pic_str']print(code)return code# 登录
def login(code):print(code)url = 'http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2020732118628'data = {"email": "18566218480","icode": code,"origURL": "http://www.renren.com/home","domain": "renren.com","key_id": '1',"captcha_type": "web_login","password": "7ed07397ab7e42f74bad38c9834a208089cfb3d17fd5a356a0fa02f6a760fbdd","rkey": "ef5b7e827f32a9a466aa5259f890f4a6","f":""}# 发送请求: 登录response = session.post(url, headers=headers, data=data)content = response.content.decode()print(content)# 登录后
def get_profile():url = 'http://www.renren.com/548819077/profile'response = session.get(url, headers=headers)print(response.text)if __name__ == '__main__':# 保存cookie: 保证是同一个会话session = requests.session()# 先获取验证码code = get_code()# 登录login(code)# 登录后,再获取个人中心get_profile()

爬虫--破解验证码的几种方式相关推荐

  1. Python识别网站验证码的几种方式

    Python识别网站验证码的几种方式 1.云打码平台(已完结) 优势:现成的平台,只需要调用即可,成功率较高. 劣势:需要一点软妹币. 这是最简单的运用,国内常用的打码平台有: 云打码(http:// ...

  2. python爬虫源码附注解_Python爬虫遇到验证码的几种处理方式,文章末尾有源码

    最近事情其实挺多了,打了一下蓝桥杯的比赛, 还在准备着一些证书的考试, 关于爬虫之类的博客都搁着了一段时间了, 关于我自己确实有点退步了, 实属不该, 其实我自己也是在想, 大三了,到底我是要去考研, ...

  3. 网页爬虫 python-Python爬虫解析网页的4种方式

    文章目录 爬虫的价值 正则表达式 requests-html BeautifulSoup lxml的XPath 爬虫的价值 常见的数据获取方式就三种:自有数据.购买数据.爬取数据.用Python写爬虫 ...

  4. python爬虫分析_Python爬虫解析网页的4种方式

    文章目录 爬虫的价值 正则表达式 requests-html BeautifulSoup lxml的XPath 爬虫的价值 常见的数据获取方式就三种:自有数据.购买数据.爬取数据.用Python写爬虫 ...

  5. Python爬虫解析网页的4种方式 值得收藏

    用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情. 我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中, ...

  6. python网页结构分析图_Python爬虫解析网页的4种方式 值得收藏

    用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情. 我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中, ...

  7. python网页结构分析_Python爬虫解析网页的4种方式 值得收藏

    用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情. 我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中, ...

  8. 验证码的几种方式-普通图形验证码,滑动拼图,图中点选

    https://blog.csdn.net/zxz_java/article/details/83254469 介绍一些java开源的验证码生成器 普通图形验证码 最为普通的方式,属于比较容易实现,但 ...

  9. 破解压缩包的几种方式(zip伪加密 爆破 CRC32碰撞 已知明文攻击)

    zip伪加密 zip文件是由3部分组成,详见文末 压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志 在压缩源文件数据区有个2字节的 全局方式位标记 ,在压缩源文件目录区也有个2字节的 全局方 ...

  10. 爬虫数据解析的三种方式

    一.正则表达式解析 常用正则表达式回顾:单字符:. : 除换行以外所有字符[] :[aoe] [a-w] 匹配集合中任意一个字符\d :数字 [0-9]\D : 非数字\w :数字.字母.下划线.中文 ...

最新文章

  1. 四层负载均衡与七层负载均衡
  2. SpringBoot的@SpringBootApplication注解和其他几个注解
  3. hexo的yelee主题让文章呈现圆角效果
  4. SAP UI5 view.setModel will trigger binding creation
  5. Cannot find or open the PDB file
  6. OpenStack精华问答 | OpenStack与计算虚拟化有什么关系?
  7. 音视频技术(25)---MPEG-2、MPEG-4、H.264 与视频带宽
  8. linux 用户及权限管理
  9. 阿里云科学家入选计算机顶会 HPCA 名人堂,他是什么来头?
  10. 在datasnap 中使用unidac 访问数据(客户端)
  11. 基于LSTM的多变量多步序列预测模型实战「超详细实现说明讲解」
  12. MATLABR2018自学一本通笔记
  13. KEIL MDK平台 S3C2440 C语言软件仿真
  14. OA产品:市场需求推动OA发展
  15. 个人作业——软件工程实践总结作业(天亮了)
  16. 【机器学习】(十七)非负矩阵分解NMF:人脸图像特征提取、用特征排序;还原混合信号
  17. python 取整运算符_python运算符
  18. 原生js由html创建节点,[js高手之路]HTML标签解释成DOM节点的实现方法
  19. python语言编程函数_Python编程语言的函数功能
  20. Mac音效增强软件:Boom 3D

热门文章

  1. 第12篇:给任意java程序挂Socks5代理方法
  2. 微信小程序重新发起请求加载页面
  3. HPUACM暑期集训第二次积分训练赛 C——Simplest
  4. DNS被劫持如何处理?
  5. LCP 17. 速算机器人
  6. 【一文读懂】python 中的 numpy.reshape(a, newshape, order=‘C‘) 详细说明及实例讲解
  7. MMO游戏服务器从零开发(架构篇)
  8. 函数的作用、函数的定义及函数的调用
  9. android7.0 360os,360 OS 2.0评测 安全与体会的全部升级
  10. 八芯网线水晶头做法(线序)