鱼C论坛

 找回密码
 立即注册
查看: 4247|回复: 28

[技术交流] 44 CSDN博客模拟登录(selenium实现)续

[复制链接]
发表于 2017-9-19 15:26:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 和vvv 于 2017-9-19 15:37 编辑
44 CSDN博客模拟登录(selenium实现)续
(1)selenium简介

利用selenium模块的相关功能,我们能够模拟用户在浏览器中的操作行为。比如输入关键词、点击、拖动滚动条等。本文使用其来进行模拟登陆。众所周知,利用爬虫模拟登陆网站需要进行复杂而且比较麻烦的抓包分析。但是,利用selenium,不必如此。

(2)selenium模拟登陆CSDN博客

登录页面URL:https://passport.csdn.net/account/login?ref=toolbar。

现在回想一下我们手动登录的过程:1、输入帐号 。 2、输入密码。3、点击登录按钮。现在用代码实现这个过程。

1、爬取登录界面
from selenium import webdriver

//创建一个浏览器
browser = webdriver.PhantomJS()

//爬取登陆界面
browser.get('https://passport.csdn.net/account/login?ref=toolbar')
//获取登陆界面截图
browser.get_screenshot_as_file("./picture/screen.jpg")
到对应的位置我们会看到这样的图片:

screen.jpg

2、帐号和密码信息的填写

首先我们要定位到账号和密码信息填写框。打开登陆界面,按“F12”,选择定位元素,这样:


1.png



然后找到帐号输入框,这样:

2.png



然后在右边的选中区右键,选择“Copy Xpath”(本人使用的360浏览器,其他可能略有不同)。这样:

3.png



往输入框中填入输入账号信息,因此可以使用selenium模块的这条语句:

//使用xpath表达式定位,表达式就是刚才复制的
user = browser.find_element_by_xpath('//*[@id="username"]')
user.send_keys('帐号***')
同样可以填入密码信息:
password = browser.find_element_by_xpath('//*[@id="password"]')
password.send_keys('密码***')

3、点击登录按钮
同样使用xpath表达式定位,最后这样实现:
browser.find_element_by_xpath('//*[@id="fm1"]/input[6]').click()
time.sleep(1.5)
为什么我们点击登录按钮之后,要延迟一段时间呢?网页响应是需要时间的,只是长短可能有所不同。因此,添加time.sleep(1.5),使其停顿一些时间。


到这里,登录基本就完成了。是不是很简单,我们根本没有进行抓包分析,只是找找位置。



这是完整的登录代码和判断是否登陆成功:

游客,如果您要查看本帖隐藏内容请回复



本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-20 08:58:00 | 显示全部楼层
楼主,你是一个大好人!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-26 10:05:42 | 显示全部楼层

为什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-27 10:22:53 | 显示全部楼层
看看~·
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-27 11:49:52 | 显示全部楼层
非常感谢楼主分享 学到很多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-12 13:31:29 | 显示全部楼层
楼主能不能抓知乎的数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-12 14:53:49 | 显示全部楼层
不行,学习的还是比较基础。知乎的验证码不好处理,要点文字。不过,我认为网上应该有高手会的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-12 15:26:40 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-16 14:55:33 | 显示全部楼层
可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-25 16:39:23 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-25 21:05:15 | 显示全部楼层
可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-30 07:47:51 | 显示全部楼层
非常精彩,又学习到了,多谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-10 13:21:38 | 显示全部楼层
1111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-13 22:57:45 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-15 18:46:01 | 显示全部楼层
厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-15 20:06:36 | 显示全部楼层
和vvv 发表于 2017-10-12 14:53
不行,学习的还是比较基础。知乎的验证码不好处理,要点文字。不过,我认为网上应该有高手会的。

为啥我的第一个界面都没出现啊,只看见一个黑频的屏幕
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-22 19:43:43 | 显示全部楼层
假装此处有回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-26 09:45:27 | 显示全部楼层
向大神学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-31 11:35:27 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-26 01:03:16 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 08:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表