本文转载自以下链接:https://www.makcyun.top/web_scraping_withpython8.html
目的是万一博主网站无法访问到的话自己需要学习的东西可就不存在了.
本文需要学习的地方,使用三种不同的方式爬取需要登录才能获取数据的网站数据
POST 请求方法:需要在后台获取登录的 URL并填写请求体参数,然后 POST 请求登录,相对麻烦;
添加 Cookies 方法:先登录将获取到的 Cookies 加入 Headers 中,最后用 GET 方法请求登录,这种最为方便;
Selenium 模拟登录:代替手工操作,自动完成账号和密码的输入,简单但速度比较慢。
对于很多要先登录的网站来说,模拟登录往往是爬虫的第一道坎。本文介绍 POST 请求登录、获取 Cookies 登录、Seleium 模拟登录三种方法。
摘要: 在进行爬虫时,除了常见的不用登录就能爬取的网站,还有一类需要先登录的网站。比如豆瓣、知乎,以及上一篇文章中的桔子网。这一类网站又可以分为:只需输入帐号密码、除了帐号密码还需输入或点击验证码等类型。本文以只需输入账号密码就能登录的桔子网为例,介绍模拟登录常用的 3 种方法。
POST 请求方法:需要在后台获取登录的 URL并填写请求体参数,然后 POST 请求登录,相对麻烦;
添加 Cookies 方法:先登录将获取到的 Cookies 加入 Headers 中,最后用 GET 方法请求登录,这种最为方便;
Selenium 模拟登录:代替手工操作,自动完成账号和密码的输入,简单但速度比较慢。
下面,我们用代码分别实现上述 3 种方法。
1. 目标网页
这是我们要获取内容的网页:
这个网页需要先登录才能看到数据信息,登录界面如下:
可以看到,只需要输入账号和密码就可以登录,不用输验证码,比较简单。下面我们利用一个测试账号和密码,来实现模拟登录。
2. POST 提交请求登录
首先,我们要找到 POST 请求的 URL。
有两种方法,第一种是在网