人生若只如初见,何必找包爬数据SeleniumPhantomJS豆瓣登陆

爬虫最头疼的就是异步加载和模拟登陆了,我们不禁感慨,要是全部数据都在源代码,那该有多好啊!那今天就讲解下利用Selenium模拟浏览器,让异步加载的东西原形毕露。

Selenium

Selenium是一套完整的Web应用程序测试系统,完全由JavaScript编写,因此可运行于任何支持JavaScript的浏览器上。通过pip安装即可。

pip3 install selenium

PhantomJS

在网络爬虫中,主要运用Selenium的Webdriver模块,Webdriver没有浏览器,我们需要选择浏览器,这里选择“无头”的PhantomJS,无头就是没有界面,这就意味着开支小,速度快。我们去官网下载(这里网速不行,需要翻墙)。

最后,要把PhantomJS添加到环境变量,因为Python是加入了环境变量,所以把PhantomJS拷贝到Python同个文件夹下。

豆瓣登陆

先上代码

from selenium import webdriver
driver = webdriver.PhantomJS()#实例化请求头
driver.get('https://www.douban.com/')#请求网站
driver.implicitly_wait(10)#隐式等待
driver.find_element_by_id('form_email').clear()
driver.find_element_by_id('form_email').send_keys('账号')#输入账号
driver.find_element_by_id('form_password').clear()
driver.find_element_by_id('form_password').send_keys('密码')#输入密码
driver.find_element_by_class_name('bn-submit').click()#登陆
print(driver.page_source)#打印源代码

看看网页源代码,可以看到我已经登陆成功了。

Selenium有个致命的缺陷,就是慢!!!所以人生无常,相见不如不见。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP技术大全

使用PHP辅助快速制作一套自己的手写字体实践

笔者以前在网上看到有民间高手制作字体的相关事迹,觉得把自己的手写字用键盘敲出来是一件很有意思的事情,所以一直有时间想制作一套自己的手写体,前几天在网上搜索了一下...

853
来自专栏xdecode

通过邮箱发送html报表

前言 需求是发送邮件时, 可以将报表正文贴到邮件里, 可以正常复制选中报表内容. 目前的做法是简单粗暴的转成了一张图片, 这样效果显然是很糟糕的. 今天看到邮箱...

2119
来自专栏快乐八哥

解决Select2控件不能在jQuery UI Dialog中不能搜索的bug

本文使用博客园Markdown编辑器进行编辑 1.问题呈现 项目中使用了jQuery UI的Dialog控件,一般用来处理需要提示用户输入或操作的简单页面。逻辑...

18110
来自专栏优启梦

对wordpress增加禁止非中文评论代码

很多用wordpress的小伙伴可能都遇到过,博客建成以后经常会有一些垃圾评论,评论内容全是英文、日文或者数字,邮箱和IP每次也都不一样,他们的主要目的就是为了...

3906
来自专栏闰土大叔

入职第一天:前端leader手把手教我入门Vue服务器端渲染(SSR)

继前段时间西安电面之后顺利拿到了OFFER,今天(5月2号)是我入职第一天,在简短的内部培训了一上午后,前端leader让我先了解下什么是vue的服务器端渲染(...

1322
来自专栏Youngxj

评论回复微信提醒-emlog插件

1673
来自专栏cloudskyme

如何插入或 Visio 中粘贴的 Excel 工作表

嵌入或链接 Excel 工作表通过对象命令在插入菜单上的绘图在 Visio loadTOCNode(2, 'summary'); 使用 插入 菜单上 对象 命...

3217
来自专栏张戈的专栏

修改博客文章链接为新窗口打开的方式

记得,前段时间卢松松博客放出一个关于文章链接是新窗口 or 原窗口浏览方式的投票,结果大部分人都投给了新窗口,而投给原窗口的我顿时有点奥特 Man 的感觉。经过...

3326
来自专栏PHP技术大全

使用PHP辅助 快速制作一套自己的手写字体实践

笔者以前在网上看到有民间高手制作字体的相关事迹,觉得把自己的手写字用键盘敲出来是一件很有意思的事情,所以一直有时间想制作一套自己的手写体,前几天在网上搜索了一下...

723
来自专栏数据之美

Chrome 自动化交互利器:用 tampermonkey 向页面注入自定义 Javascript

1、背景 经常会遇到类似下面的这种网站,查个信息得填一堆信息,奇葩的是文本框也不让复制粘贴,而且浏览器还不自动保存,这样每次查询或者超时退出都得重新手动填写一遍...

3037

扫码关注云+社区