爬虫 ---模拟登录

模拟登录

模拟登陆是什么鬼?

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

模拟登陆的流程

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

模拟登录的意义和作用

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

验证码识别

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

云打码平台

  使用流程如下:

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

Cookies的应用和处理

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

  处理cookies的方式

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

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

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

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

代理ip

1.为什么使用代理 ?

扫描二维码关注公众号,回复: 6182877 查看本文章

  访问频率过高,导致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,增加效率

 

猜你喜欢

转载自www.cnblogs.com/CrazySheldon1/p/10816414.html