开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践: Selenium 4】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15413
Selenium 4
内容介绍:
一、 前进后退
二、 Cookies
三、 选项卡管理
四、 异常处理
五、 Requests+正则表达式爬取猫眼电影 TOP100
一、前进后退
我们再演示一下这个一个浏览器的前进和后退,那么比如说我们在这里首先访问一个页面,然后再访问一个页,再访问一个页,然后我们调用这个brother back,然后就是后退一步,然后睡眠一秒,然后再前进一步,然后最后把这个浏览器关闭,然后我们看一下这个当前的这个浏览器结果是一样的,可以看一下,首先前百度,然后再进行淘宝。然后接下来再请求这个,然后后退,接下来再进行前进,然后最后将这个浏览器关闭,那么整个的这个流程,就是依次去做这三个页面,然后再调用这个,返回来了再调用这个前进,那么这样的话就可以完成一个自动化的操作。
二、Cookies
然后接下来我们再看一下这个cookies,那么这个cookies,在爬取的过程中,实际上是非常有用的,尤其是在做一些登录之后的一些爬取等等之类的,你可以获取到这个case之后,可以直接调用at cookie等等之类的一些方法。你也可以,就是用它来设置一些登录的状态,那么比如说我们在这里,就是把这个知乎的这个cookies首先打印出来。
那再调用一个at cookie,说明一个方法,我们把一个cookie,然后加进去,然后再把这个cookies打印出来,然后接下来我们再调用一些方法加这个儿cookies,那就是把所有的这个cookies清空,然后接下来我们再打印一下这个位置,那么这是一些相关的一些API的操作。那么我们来看一下这个结果是怎样的,那你们可以看到这里,它就出现了一个知乎的一个页面。
然后可以看到这里,它就有一些正常的一个输出,这里它就出现了一个最后的一个页面儿,然后可以看到这里,就有一些正常的一个输出,那么首先,这有这一些,就是这个第一次的get cookie的一个输出,然后后面我们调用了一个cookie,然后下面的话就是这个cookie之后的这一个cookie,那么可以看到这里,它就有一个Y点正面,然后中门,然后pass。
那么我们就成功的设置了一个book,比如说把所有的股选出,然后最后再获取,那么我们可以发现这个股位都已经是空了,那么可以看一下这里,点击这个键盘元素,然后点击application。我们可以看到当前的这个cookies是空This site has no cookies,比如说刚才的我们第二个,这类的cookies就已经生效了。
三、选项卡管理
一个网页的选择,那么比如说刚才我们在请求的时候,都是在同一个浏览器的同一个选择盘里进行一个操作,那么我们想要增加一个选卡,那么怎么做的那么一个非常简单的方法,就是通过执行一个JS来打开一个网页的选择,这个其实还有另外一种解决方法,就是通过模拟按键。这个浏览器还有备件可以直接走,它还有一个选法,就是说这个come on浏览器就是。
这come on代替或者是Windows代替,用open代替可以直接生成一个新的平台,但是,这个方法并不是通用的,因为可能有些浏览器的通用方式它不同,或者是有些浏览器它没有开的方式等等,那么所以说这个方法并不是一个one的方法,那么最好的一个方法就是通过执行一个js,然后执行这个window的open,然后就可以新开一个平台,那么这样的话,就是说我们通过这一个最通用的这个方式,一个执行GS的这个方式,然后打开了一个新的平台,然后接下来,我们在打印输入一个window Windows,然后这里,它就可以返回这个所有的存档卡,这是第二个,然后再打开一个淘宝,然后我们再顺便一个,然后,再切换到第一个平台,我们再打开这个iphone,那么这样的话,我们就实现了一个存档卡的开启,然后再切换,然后再进行一些完整的操作,那么我们一起看这个。好那可以看到这里,他出现新的垃圾,然后打开一系列的选项卡,然后请一个打板,然后接下来第一个选项卡切换过去,然后就是请求了这个盘算,那么可以发现他在切换显卡的过程中,其实这整个的网页是没有变化的,只不过,他这个动作是执行了的,就是高量的这个显卡没有激活,不过这个不影响,因为我那么我可以看到这里的这个主要是window安到中那个,它这里头就会返回这个信用卡的这一个账号,那么这样的话就可以用这个随时用文本,然后通过传入这个账号来可以切换这个信用卡。
四、异常处理
我们再看一下这个异常的处理,那这个异常的处理,实际上是相对于比较麻烦的,因为它这个浏览器里面可能会出现各种各样的一些异常,因为比如说某个元素无法点击的异常,或者是加载超时的一个异常,或者说没有找到这个元素的异常等等之类的,那么这个异常处理,最好是需要查看一下这个官方文档,这里面的会列举,一些特别多的一个异常,那么,在这里就简单的做一下这个异常处理的演示,那么在这里,首先请求一下百度,然后我们再查找一个ID不存在的这么一
个元素。
看一下会出现一个怎样的一个异常,那么可以看到这下面他就到了一个异常,有没有想起来的一个异常,比如说他现在报了一个,找不到该元素的一个异常,那么接下来我们就需要捕获一个这个异常,那么如果出现这个异常的话,再进行一个相关的操作。那么下面的话,比如说在这里就这个情绪百度,然后在这里就,就怕他会出现一个超时的一个异常,所以在这里我就加一个超时,那么如何接到超时,那么会怎么办。
然后就说找一个不存在的一个元素,然后接下来如果不存在的话,我们就把这个no such element exception把它捕获一下,然后再做一个相关的操作,比如说在这里就打印输出一下no element这么一个提示,那么我们再履行一下,可以看到这里,他没有报这个timeout exception这个错误,那么这个百度请求还是相对比较快的,那么他这里,他就报了一个no element的一个错误,就是说他找不到这个hello这一个元素,所以说他报了这个错误,然后接下来就说出了一句话。然后关于另外的一些信息,这里,有一些非常详细的一些介绍,比如说阿拉克公司,还有一些各种的一些商品也非常多,那么另外还是有一些解释,有一些相关的一些参数的介绍,这两个可以进行一个参考。
那么以上,就把这个selina的一些所有的常用的办法,介绍完了,如果你能掌握这些办法的话,基本上在说后面的一些网络的排序的时候,基本上是是没有什么问题参考,如果有更加高级的一些操作,可以查看一下这个官方文档,然后你也可以通过各种搜索引擎,查看一下各种使用方法等等都可以好,以上,就是对sliding这些库的一些基本用法的介绍。
五、Requests+正则表达式爬取猫眼电影 TOP100
我们来讲解一下利用request和正在表达式来抓取猫眼电影copy版的相关内容。request相较于URL来说,它使用更加的方便,而目前可能大家对HMM的解析库比较了解,所以这次我们选用正在表达式来做一个解析工具,那么解析之后,我们将电影的信息查取下来,然后以文件的形式来保存一下好,那么接下来。我们首先进行一下目标战略的分析,我们看一下这个part的流程是怎样的,我们首先打开猫眼电影,输入猫眼健康,然后打开猫眼电影,那么在这里我们点击这个榜单,然后再点击最后的这个TOP100这个榜,那么在这里它就呈现。除了超过100的这个电影的信息,那么下来之后,可以看到它每一页是呈现了一个十个电影。