可以自动读取验证码的‘超级鹰’接口配置(须先去网站注册)。将下文保存为 .py 文件再在爬取过程中对它进行调用。

import requests
from hashlib import md5
class Chaojiying_Client(object):def __init__(self, username, password, soft_id):self.username = username# todo:更改点一self.password = md5(password.encode("utf-8")).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()

爬取过程

#编码流程:
#1.验证码的识别,获取验证码图片的文字数据
#2.对post请求进行发送
#3.对响应数据进行持久化存储
from CodeClass import Chaojiying_Client
import requests
from lxml import etreedef getCodeText(imgPath, codeType):# todo: 更改点二,输入注册的账号与密码,软件IDchaojiying = Chaojiying_Client('自己的账号', '账号对应的密码', codeType)# todo: 更改点三:本地图片文件路径 来替换 a.jpg 有时WIN系统须要//im = open(imgPath, 'rb').read()# todo: 更改点四:1902 验证码类型,在官网测试案例可以查看print(chaojiying.PostPic(im, codeType)['pic_str'])return (chaojiying.PostPic(im, codeType)['pic_str'])#创建一个session对象
session = requests.Session()
#1.对验证码图片进行捕获和识别
headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"
}
url = 'http://www.renren.com/SysHome.do'
page_text = requests.get(url=url, headers=headers).text
tree = etree.HTML(page_text)
code_img_src = tree.xpath('//*[@id="verifyPic_login"]/@src')[0]
code_img_data = requests.get(url=code_img_src, headers=headers).content
with open('./code.jpg', 'wb') as fp:fp.write(code_img_data)#使用超级鹰提供的示例代码对验证码图片进行识别
result = getCodeText('code.jpg', '1902')#post请求的发送(模拟登录)
login_url = 'http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2021041722428'
data = {'email': '自己的email','icode': result,'origURL': 'http://www.renren.com/home','domain': 'renren.com','key_id': '1','captcha_type': 'web_login','password': '自己的网页密码','rkey': '2def5d84381e7889d5a3035d83561d72','f': 'http%3A%2F%2Fsc.renren.com%2F',
}
#使用session进行post请求的发送
response = session.post(url=login_url, headers=headers, data=data)
print(response.status_code) # 验证登录是否成功,成功打印为200
# login_page_text = response.text
#
# with open('renren.html', 'w', encoding='utf-8') as fp:
#     fp.write(login_page_text)#爬取当前用户的个人主页对应的页面数据
detail_url = 'http://www.renren.com/975729432/profile'
# 手动Cookie处理
# headers = {#     'Cookie': 'anonymid=kjwko5zu9c9ejo; depovince=GW; _r01_=1; JSESSIONID=abc6ROCxf_ZKHblHx8-Bx; taihe_bi_sdk_uid=d72d002eaa7344f7a5db362c7bdb1f4b; taihe_bi_sdk_session=6dceb868c1de0a9c3909b08f7620eaa; ick_login=5b65bf4c-3bdd-4ba1-9d57-6bfcb1f61bd9; first_login_flag=1; ln_uact=17725092141; ln_hurl=http://hdn.xnimg.cn/photos/hdn321/20210114/1540/h_main_YCoN_13bc0011ae671986.jpg; wp_fold=0; jebecookies=e469785d-be55-420c-87fd-5f2b9b12397|||||; _de=A7B1CC4E75848C08E3569C4B78B82B66; p=7a79e2c2beaec48c1387e3046ec959b62; t=0c32fad3b6c4d893c9f9af9092cccaca2; societyguester=0c32fad3b6c4d893c9f9af9092cccaca2; id=975729432; xnsid=ff9ca28a; ver=7.0; loginfrom=null; XNESSESSIONID=78ffc4e97f08; WebOnLineNotice_975729432=1'
# }
#使用携带cookie的session进行get请求的发送
detail_page_text = session.get(url=detail_url, headers=headers).text
with open('zhuazei.html', 'w', encoding='utf-8') as fp:fp.write(detail_page_text)

python 爬虫 验证码_人人网相关推荐

  1. python爬虫 模拟登录人人网过程解析

    这篇文章主要介绍了python爬虫 模拟登录人人网过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 equests 提供了一个叫做sessio ...

  2. 利用python爬虫自动登录人人网

    刚学python爬虫,使用python爬虫自动登录人人网,在运行代码时一直报错HTTPError /syshome urllib.error可以接收有urllib.request产生的异常.urlli ...

  3. 基于python爬虫数据处理_基于Python爬虫的校园数据获取

    苏艺航 徐海蛟 何佳蕾 杨振宇 王佳鹏 摘要:随着移动时代的到来,只适配了电脑网页.性能羸弱的校园教务系统,已经不能满足学生们的移动查询需求.为此,设计了一种基于网络爬虫的高实用性查询系統.它首先通过 ...

  4. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导

    爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...

  5. python爬虫验证码的识别_Python爬虫识别验证码

    Python爬虫识别验证码 安装tesserocr pip3 install tesserocr pillow 识别测试 将验证码图片放到项目根目录下,用tesserocr库识别该验证码,代码如下所示 ...

  6. python 爬虫框架_小白学 Python 爬虫(28):自动化测试框架 Selenium (下)

    人生苦短,我用 Python 如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:) 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Py ...

  7. 常见python爬虫模板_常见的Python爬虫框架有几个?

    常见的Python爬虫框架有几个?实现爬虫技术的编程环境有很多种,Java.Python.C++等都可以用来写爬虫.但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的 ...

  8. python爬虫现状_基于Python的微博爬虫系统研究

    基于 Python 的微博爬虫系统研究 陈政伊 袁云静 贺月锦 武瑞轩 [摘 要] [摘 要]随着大数据时代到来,爬虫的需求呈爆炸式增长,以新浪微 博为代表的一系列社交应用蕴含着巨大的数据资源.以新浪 ...

  9. 微专业python爬虫工程师_从零起步 系统入门Python爬虫工程师

    课程简介: 从零起步 系统入门Python爬虫工程师 大数据时代,python爬虫工程师人才猛增,本课程专为爬虫工程师打造,课程有四个阶段,爬虫0基础入门->项目实战->爬虫难点突破-&g ...

最新文章

  1. 超越YOLOv5,1.3M超轻量,高效易用,这个目标检测开源项目太香了!
  2. Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解
  3. 人工智能缺陷与误觉:让机器产生幻觉的「怪异事件」 1
  4. 利用Python+Turtle绘制简易爱心表白小程序
  5. map-based exploration of intrinsic shape differences and variability
  6. Git 与 Github 的使用 —— 下载单个图像或单个文件夹
  7. PHP最彻底的退出登录,清除session、cookie的代码
  8. GIMP 教程在 github 发布文章外,又做视频了
  9. 【元胞自动机】基于元胞自动机模拟生命演化、病毒感染等实例附matlab代码
  10. 射影几何----坎迪定理的证明
  11. 设置Google连接burpsuite
  12. B站CEO陈睿:我们活跃用户仍维持高增长 动能是独特优质内容
  13. leetcode-初级算法-数组-有效的数独(JavaScript)
  14. 荣耀 MagicBook Pro 加装固态硬盘
  15. rx6800s什么水平N卡 rx6800s什么水平
  16. Yocto中WIC控制以及WKS文件
  17. java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector异常
  18. 【通信原理】学习笔记----理解信道
  19. lstm对时间数据的预测作用(多变量对多变量预测)
  20. stable diffusion prompts

热门文章

  1. 微信小程序实战篇-商品详情页(二)
  2. 数据分析,如何实现降本增效?
  3. STP——RSTP快生成树协议讲解
  4. Integer 和int
  5. 符合python命名规范的标识符_Python命名规范
  6. 学习连连看 连接线之谜+道具的使用
  7. cba篮球暂停次数和时间_你认为CBA联赛的官方暂停是利大于弊还是弊大于利?
  8. 【计算机网络】——奈氏准则与香农公式,它们之间到底有何区别?
  9. 计算机科目三教学设计,科目三详细教案.doc
  10. 计算机操作系统:实验2 【银行家算法】