编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Python爬取动态网页之selenium扫盲篇

wxchong 2024-10-13 09:59:04 开源技术 10 ℃ 0 评论

Selenium是什么

Selenium是在2004年由一个叫Jason Huggins的聪明的年轻人开发的,当时身处ThoughtWorks的他,为了不想让自己的时间浪费在无聊的重复性工作中,所以开发一个JS的类库来驱动浏览器页面的行为;这个js类库就是selenium core,同时也是seleniumRC、Selenium IDE的核心组件。这就是Selenium1.0的产生史。

在2006年,在google的一位有胆识的年轻人Simon Stewart发起了一个叫WebDriver的项目;因为长期以来google一直是selenium的重度用户,但却总是被限制在有限的操控范围内,所以Simon希望能通过浏览器、操作系统的底层方法等一些手段来直接操作浏览器;这样就避免了在JavaScript的沙箱环境里存在的那些限制了,webdriver项目就此诞生!

在2008年,Selenium和webdriver结合了,从此永结良缘,福泽我们广大的测试工作者。这期间谁追的谁都不重要了,重要的是他们合并的原因正如webdriver的作者所说:

部分原因是 selenium 补充了 webdriver 的不足

部分原因是 webdriver 补充了 selenium 的不足

部分原因是它们合体后能给用户提供一个更好的自动化测试框架

Selenium经历了两个版本,Selenium1.0 和Selenium2.0,Selenium 也不是简单一个工具,而是由几个工具组成,每个工具都有其特点和应用场景。通常都是用Selenium2

Selenium支持非常多的浏览器

我们这里主要用到的是PhantomJS

PhantomJS是一个而基于webkit的服务器端的JS API。

他全面支持各种原生的Web标准:DOM处理、CSS选择器、JSON、Canvas和SVG。最重要的是他是一个没有GUI的程序,

也就意味着他可以省去大量的加载图形界面的时间。而且利用selenium去调用上述浏览器,PhantomJS的速度最快

PhantomJS的安装:

Mac下安装PhantomJS:

brew install phantomjs

别的就麻烦大家自行搜索了

简单教程

我们写一个简单的例子,写一个脚本,通过百度替我们去搜索结果,并将网页以图片的形式保存下来

代码中注释写的很详细,如果有不懂的可以去看看http://selenium-python-zh.readthedocs.io/en/latest/

执行结果:

保存的图片:


这篇博客只是简单的介绍了一下selenium,让大家对他有个认识,下面的几篇文章将实际应用selenium到爬虫中

本文章是由热衷python和前端原创发布,如需转载请注明出处

欢迎大家关注头条号:热衷python和前端

如果有需要源码的同学就留言或者私聊我吧

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表