欢迎来我Python萌新的小站

Python实例:通过selenium模拟登陆豆瓣

前几天写的《Python实例:分析豆瓣影片评论Ver 1.0版本》文章中,关于爬取数据过频繁导致IP被封禁的事情让我对豆瓣数据的爬取中断了。忽然想到之前有写过关于关于使用selenium库的webdriver来模拟用户的操作。那今天不妨试试使用selenium来模拟用户使用浏览器登陆豆瓣吧。

首先需要导入的库有

定义登陆账号的url,还有输入账号信息

使用无窗口浏览器PhantomJS登陆:

通过 send_keys() 将账号和密码传入浏览器账号密码输入框:

获取验证码图片保存到本地并自动打开方便查看。需要注意的是,打开图片后,好像需要将图片关闭才能继续执行下一步,这个不知道是什么原因。不过好在,这没什么大碍。

填写图片验证码,然后将验证码传入:

模拟用户点击登陆按钮:

因为登录页登录成功后浏览器会自动跳转到豆瓣首页。所以可以通过这个逻辑判断是否登录成功:

以上。模拟登陆的步骤就算是完成了。当然,你也可以在期间 print 一些进度信息,告知用户当前程序执行的进度。


讲真,使用selenium的速度真心不行,如果不是特殊要求,实在是不建议使用这个方式登录。

不过它的好处就是,可以完美的实现用户所有的操作,速度虽然慢,但是数据全,不丢失。

文末,附上完整代码:

 

喜欢 (1)分享 (0)
发表我的评论
取消评论
友情提示:插入代码时请使用:  <pre>要插入的代码</pre>   以达到最佳效果!

表情     4 + 9 = ? (必填)

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址