制作缘由:
简单点说就是图书馆老师有一个项目,需要给一个公司讲什么东西,需要检索系统,但是数据来源却要自己从网上爬,因为账号很贵,不值当的再另购置一个账号,找到了一位学长来做,学长忙着考研(●'◡'●)所以就顺下来了,哈哈!开始我以为很简单的爬取点东西罢了,然后正真着手做的时候呵呵了~原因下篇博客中有讲 => 在此奉上链接~无奈之下想到了用Python自动化爬虫-->就是相当于挂一样,自己帮你操控浏览器来抓取数据~效率可想而知爬取较多的话,会有点慢(后话~~哭了┭┮﹏┭┮~)
所需Python的知识:
Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器,但已经不再支持 PhantomJS了,一般使用chrome和firefox无界面浏览器。Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。自动化测试工具,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。具体了解请点这!!!
UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '
安装:
pip install selenium
安装驱动程序
下面介绍几种主流浏览器的驱动程序下载地址:
我用的时windows系统,chrome浏览器,所以下载了chromedriver_win32,解压出来会有一个.exe可执行程序,将它的路径添加到系统的环境变量就OK了(其实也不需要,下边会说)
选择页面元素:
Selenium 的 WebDriver提供了各种方法来寻找元素,假设下面有一个表单输入框:
在命令中使用elements可以选取多个元素。
简单使用:
鼠标动作链:
获取文本值:
注意事项:
1、如果只是想要解析网页中的数据,那么推荐将网页源代码扔给lxml来解析,因为lxml底层使用的是C语言,所以解析效率会更高。
2、如果是想要对元素进行一些操作,比如给一个文本 框输入值,或者是点击某个按钮,那么必须使用selenium给我们提供的查找元素的方法。
常见的表单元素:input type = 'text/password/email/number'button、input[type = 'submit']chexbox:input = 'chexbox'select;下拉列表'''
未完待续......
还不快抢沙发