人生若只如初见,何必找包爬数据

  1. 云栖社区>
  2. 博客>
  3. 正文

人生若只如初见,何必找包爬数据

是罗罗攀啊 2017-05-04 20:04:00 浏览568
展开阅读全文

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

Selenium

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

pip3 install selenium

PhantomJS

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


img_6f3f1ca968a630b0e29e31922fb793da.png

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


img_8618b8cb17401833795effecf49fbe87.png

豆瓣登陆

先上代码

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)#打印源代码

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


img_4137a10435749761d0372acc1cabb0d7.png

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

网友评论

登录后评论
0/500
评论
是罗罗攀啊
+ 关注