首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

爬虫需要登陆怎么办?这份python登陆代码请收下

相信很多python学习者都和我一样在刚开始学习爬虫时,对见到的网站都有种跃跃欲试的冲动,像豆瓣电影、电影天堂以及各类壁纸写真图片网站的等等,但这些都是不需要登陆账号就可以直接请求解析网页获取资源链接的,如果遇到需要登陆账号的网站时就不行了。这个时候小编就及时出来解决大家的问题,给大家准备了一份模拟登陆代码供大家学习。

环境准备

python3.5

selenium模块

模拟登陆思路

通过selenium中的webdriver控制浏览器登录目标网站,然后获取模拟登陆需要的Cookie,再利用此Cookie来达到登录的效果。本次我们使用webdriver来驱动火狐浏览器插件。在登录网站时,cookie保存在发起请求的客户端中,网站服务器利用cookie来区分不同的客户端。cookie里面记录了“访问登录后才能看到的页面”这一行为的信息,含有能够向服务器证明:“我刚才登录过”。因此cookie可以用来标识客户端的身份,以存储它的信息。

登录步骤

导入模块

启动浏览器

通过webdriver驱动火狐浏览器,然后在加载将要访问的目标网站

点击登录

找到网页中登录按钮所在的位置,通过浏览器模拟点击打开登录框,然后找到用户名和密码框的位置,输入用户名及密码,在寻找按钮以及密码输入框时可鼠标右键然后找到“查看元素”选项,点击之后可在网页源码中寻找。代码如下

记录cookie

经过上面几步,如果没有报错的话就说明已经登录成功了,接下来我们再次加载网页获取登录cookie。代码如下

通过cookie登录

获得cookie之后,模拟登陆就跟之前一样用requests请求网站,只需要将cookie内容加到请求中即可。代码如下

对于有些网站来说,cookie的生命期较长,所以在第一次登陆获取cookie后,在以后模拟登陆时只需要调用此cookie即可,十分方便。

具体代码如下

在实战中成长,在实战中进步

把时间交给阅读

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180716G072IW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券