Python 网络爬虫之模拟登陆合集 !

摘要: 之前我们爬取的实习僧、糗事百科、网易新闻都是不需要登陆,不需要你去做账号、Cookies、Session等等,顶多只需要一个 headers (请求头),但还有一类是需要:你(注册)账号登陆才能进行后续的操作。

       例如:淘宝、知乎、豆瓣之类的需要你登陆的。

我们之前又整合一些 requests 库 提供 http 的所有基本请求方式:

 

 

 

 

 

Python资源共享群:484031800

回顾:

1.GET请求

可利用params参数

 

 

 

 

 

输出结果:

 

 

 

 

2.POST请求

利用data参数 为POST添加参数:

 

 

 

 

 

 

 

 

 

上传文件的方式:

方法一:

 

 

 

 

 

 

方法二:

我个人更习惯或者说更 Python 的操作,是方法二:

 

 

 

 

 

 

 

 

 

步入正题:

个人目前知道有以下几种操作方法:

  1. POST 请求方法:需要在后台获取登录的 URL并填写请求体参数,然后 POST 请求登录,相对麻烦;
  2. 添加 Cookies 方法:先登录然后,将获取到的 Cookies 加入 Headers 中,最后用 GET 方法请求登录,这种最为方便;(个人比较喜欢这个方法)
  3. Selenium 模拟登录:代替手工操作,自动完成账号和密码的输入,简单但速度比较慢。

下面用代码分别实现这三种方法。

 

 

 

 

 

1. 目标网页

这是我们要爬取的目标网页:

URL:https://www.itjuzi.com/investevent

 

 

 

 

 

该网页需要先登录才能看到数据信息,登录界面如下:

 

 

 

 

 

可以看到,只需要输入账号和密码就可以登录,不用输验证码,比较简单。下面利用我个人的账号实现,来实现模拟登录。

POST 提交请求登录

1

首先,我们要找到 POST 请求的 URL。

有两种方法,第一种是在直接右键在开发者工具中查看(在浏览器当中按 :F12 ),第二种是在 Fiddler 软件中查看。

我们在调出开发者工具的时候,如果把控制台放在地下,会出现如下测试了火狐浏览器和谷歌浏览皆为如此:

 

 

 

 

 

 

所以,需要把开发者工具放在别的方向,例如:

 

 

 

 

 

你可能感兴趣的:(Python)