Python网络爬虫实战——实验3:Python爬虫之文字验证码实战

【实验内容】

本实验主要介绍在网络爬虫数据采集的过程中出现的常见的验证码反爬手段以及解决措施。

【实验目的】

1、理解验证码反爬的背景;
2、掌握常见文字验证码反爬手段;
3、研究解决文字验证码反爬的方法;

【实验步骤】

步骤1 调研目标网站
步骤2使用验证码识别技术
步骤3 采集数据生成json文件

步骤1:调研目标网站
以江西政府采购网站(http://www.ccgp-jiangxi.gov.cn/web/)为例,当我们点击搜索按钮的时候,会弹出如下的验证码进行验证,用户需要输入对应正确的验证码才能获取数据。在这里插入图片描述/===============================================================================================================================================/在这里插入图片描述 选择network的all,重新点击搜索框发起请求,可以看到如下请求接口正好是返回了图片的链接。在这里插入图片描述因此,只需要对此接口发起请求就能得到图片下载地址,然后在对图片地址发起请求就能将图片下载到本地。在这里插入图片描述/========================================================/在这里插入图片描述请求链接地址如下。
在这里插入图片描述请求携带参数如下。在这里插入图片描述步骤2使用验证码识别技术
(1) 购买服务
常见的验证码识别技术有机器学习模型或第三方验证码识别服务,为了方便使用本次实验以百度云为例。
你首先需要按照提示注册一个百度云账号,然后在产品服务中搜索文字识别
-************************************************************************

进入控制台后,点击应用列表,购买响应的服务,购买成功后如下图所示。
-*************************************************************************

(2) 识别验证码
下载安装包,pip install baidu-aip,详情可见官方文档https://cloud.baidu.com/doc/OCR/s/wkibizyjk。
在这里插入图片描述如下代码首先对图片发起请求,并将其下载到本地,然后使用baidu_client对象对图片文字进行识别,如果识别成功,则返回对应的验证码,否则捕获异常进行重新识别。
-******************************************************

步骤3 采集数据生成json文件
在这里插入图片描述-/====================================================================================================/
-*******************************************************************
获取子页面数据,部分代码如下所示:
-*******************************************************************
解析子页面数据,部分代码如下所示,使用xpath语法与re正则获取发布时间与项目编号。
-*************************************************************
/=================================================================================================/
-*************************************************************
保存的部分json文件如下图所示。
-***************************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值