爬虫——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

你可能感兴趣的:(python爬虫)