模拟登录

模拟登陆是什么鬼?

  有些时候,我们在爬取某些网站内容的时候,网站要求登录后才能操作..,但是处理验证码;

模拟登陆的流程

  • 对登录页面进行请求,从请求的页面源码中解析下载验证码图片
  • 使用打码平台对验证码进行识别
  • 基于登录按钮发起一个post请求(处理参数)

模拟登录的意义和作用

  爬取基于某些用户的用户信息,获取cookie

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

验证码识别

  三方工具:云打码平台--->识别验证码种类比较全,无法处理滑动验证码.

云打码平台

  使用流程如下:

#使用流程
1.注册
2.登录 - 普通用户 --->查询剩余题分(可充值) - 开发者用户 创建软件:我的软件-》添加新软件(ID,秘钥) 下载示例代码:开发文档-》点此下载:云打码接口DLL-》PythonHTTP示例下载

Cookies的应用和处理

cookies : 服务端记录客户端的状态

  处理cookies的方式

      手动处理 : 不建议,(通用性不强,有些验证码动态生成)

      自动处理 : 会话对象Session,该对象可以像requests一样进行网络请求发送(get,post),session进行的请求发送可以自动携带和处理cookie.

  使用requests模块和session对象的区别

    session会携带参数进行请求,而requests不会.

代理ip

1.为什么使用代理 ?

  访问频率过高,导致ip被封禁,因此要使用代理.

2.常见代理服务器 有哪些?

  快代理 西祠代理  goubanjia

3. 匿名度

  • 透明:对方服务器知道你的使用了代理ip,也知道你的真实ip
  • 匿名:知道你使用了代理ip但是不知道你的真实ip
  • 高匿:什么都不知道

4.请求类型类型

#两种http和https
- http:只可以发起http请求
- https:只可以发起https的请求

5.应用场景

#代理ip的应用 -->proxies参数 提供字典键值对http/https 代理ip地址即可

url = 'http://www.baidu.com/s?wd=ip' page_text = requests.get(url=url,headers=headers,proxies={'http':'117.127.0.202:80'}).text with open('./ip.html','w',encoding='utf-8') as fp: fp.write(page_text) print('完成')

 6.为什么要应用代理池?

  为了应用更多的代理ip,增加效率

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄