爬虫——2020.10.5 验证码识别+模拟登录

验证码识别:

验证码的作用:反爬虫。他是动态的,用户每次发送请求,验证码都会刷新。
爬取方式:通过第三方工具进行爬取;首先获取验证码的url,保存验证码图像到本地,然后利用第三方工具进行识别。

为post请求类型,并且携带参数。

response.status_code

若响应的状态码为200,则表示请求成功。

模拟登录:

爬取基于某些用户的用户信息。

  1. 点击登录按钮后会发起一个post请求。
  2. post请求中会携带登录之前录入的相关信息(用户名,密码,验证码等)。
  3. 验证码在每次请求后都会变化。
  4. http/https协议的特性:无状态。在爬取到验证码信息,登录之后,想对用户的详情页面进行相关数据爬取时,第二次的请求未请求到页面数据。原因:第二次请求的时候,服务器端并不知道该次请求是基于登录状态下的请求。
  5. cookie:用来让服务器记录客户端的相关状态。
    (1)手动处理:通过抓包工具抓取到cookie信息,将该值写入headers字典中。(变为固定的值,不建议)
    (2)自动处理:首先明确cookie值为登录post请求后,由服务器端创建。利用于session会话对象来获取:作用 1.可以进行请求的发送。2.如果请求过程中产生了cookie,则该cookie会被自动存储,携带在该session对象中。
    首先创建一session对象:session = requests.Session()
    使用session进行post请求的发送,若产生了cookie,则会自动保存:response = session.post(url,headers,data)
    爬取用户当前页面的数据:即使用携带了cookie的session进行get请求(登录之后的再次请求)。detail_page = session.get(url,headers).text
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值