爬虫的好帮手——web自动化
网课没事开个新坑,爬虫还是会更新的。
一.为什么用web自动化
相信很多人在进行爬虫时都有这样的问题,你在进行爬虫时并不能看到爬虫对网页的那些部分,那些内容进行了操作,不像自己平时上网的时候,自己亲手一步一步操作,一个网页一个网页打开,亲眼看着网页操作有一种实在感。可以选择自己想要的内容浏览下载,而爬虫显然做不到这一点,因为它是不可视的,这时候,我们就需要他的好兄弟web自动化登场了。
二.什么是web自动化
顾名思义,web自动化就是利用程序和浏览器驱动,实现电脑控制浏览器访问页面,获取你想要的信息,其优势在于利用浏览器驱动,使程序的操作可以在浏览器界面上一步一步进行,就和人工的一样,但其速度又远远快于人工,还能实现许多人工做不到的功能,同时web自动化也是反爬的好帮手,因为很多网页选择用CSS渲染,不直接将页面元素放入源代码中而使用web自动化就没有这个问题。
三.从selenium到splinter
提到web自动化,不得不提python的selenium模块,selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一,Selenium支持的语言包括C#,JAVA,Pert,PHP,python,ruby,目前,selenium web驱动程序最受python、c#欢迎。Selenium测试脚本可以使用任何支持的编程语言进行编码,并且可以直接再大多数现代Web浏览器中运行。在爬虫领域,selenium同样是一把利器,能够解决大部分的网页反爬问题。python中还有别人做过web自动化的尝试,但是都不如selenium做的好,而这其中splinter对selenium进行了二次封装,是一个相对做的比较不错的模块,splinter在以后的文章可能会介绍。
四.selenium的安装及使用
安装不用我再多说,直接简简单单pip install selenium
,使用的话,要想通过程序调用浏览器,还要下载你选用的浏览器对应的浏览器驱动。下面给出一些常用浏览器的驱动下载地址:
Chrome浏览器 https://chromedriver.storage.googleapis.com/index.html
Firefox浏览器 https://github.com/mozilla/geckodriver/releases
Edge浏览器 https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/、
注意下载的浏览器驱动一定要和你的浏览器版本号对应,我们下面以Chrome浏览器为例:
打开设置,点击关于Chrome,查看版本号
我的Chrome是105.0.5195版本的,那么我们的浏览器驱动也要下载相应的版本
任选一个下载即可。
下砸好了后要怎么使用浏览器驱动呢?这里我给出两种方法:
1.在程序中写明调用的浏览器驱动的路径,这个在下一节我们会具体介绍;
2.将驱动文件放到和浏览器同一个路径中,并将路径添加到环境变量,添加环境变量的方法这里我就不再多说了。