免费领取视频教程,电子书籍,以及课程的源代码
优采云 发布时间: 2021-06-11 03:44免费领取视频教程,电子书籍,以及课程的源代码
本文仅简单介绍所使用的技术。想了解更多请到对应官网网站学习。
本文适合对爬虫相关知识接触较少的新手,主要是普及Selenium是如何做爬虫的,请跳过。
很多人学习python,掌握了基本语法后,不知道从哪里找案例开始。
很多做过案例研究的人不知道如何学习更高级的知识。
针对这三类人,我会为你提供一个很好的学习平台,免费领取视频教程、电子书、课程源码!
QQ群:701698587
1.Selenium 简介
1.简介
Selenium 是用于测试网站 的自动化测试工具,支持各种主流界面浏览器。
简而言之,Selenium是一个用来做网站自动化测试的库,它的定位是做自动化测试。我们也可以用它作为爬虫来获取一些网页信息,这个爬虫模拟了真实浏览器的操作,更加实用。
Selenium 是市场上唯一可以与付费产品竞争的自动化测试工具。
想了解更多可以到Selenium中文网学习:戳我去Selenium中文网
2.Install
要使用Selenium,必须先在python中安装相关库:
pip install Selenium
安装对应浏览器的webdricer驱动文件,这里有chrome的链接,其他浏览器可以网上搜索。戳我下载chrome webdriver驱动文件。选择合适的版本,我选择了2.23。
下载解压得到exe文件,将此文件复制到chrom安装文件夹:
通常是 C:\Program Files(x86)\Google\Chrome\Application,或 C:\Program Files\Google\Chrome\Application。
然后配置环境变量的路径:
最后写一段代码来测试一下:
from selenium import webdriverdriver=webdriver.Chrome(executable_path="C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
如果看到有浏览器窗口打开就成功了,否则下面会出现相应的错误提示,需要查看前面的步骤。
3.简单用法介绍
1.元素定位方法:
基本上前几个方法就可以得到需要的元素,需要判断结果是否唯一才能选择对应的选择器。
通过驱动对象调用这个方法,返回的是一个标签对象,或者一个标签对象列表,可以通过.text获取标签下的文本,也可以通过.text获取标签的其他属性值get_attribute().
分享一个快速定位元素的小妙招:检查所需信息所在标签的id、class、name是否与标签下信息的语义相关。一般来说,相关的都是唯一的。 (从开发者的角度考虑)如果当前标签不能唯一定位,考虑父标签。以此类推,总能找到定位方法。
2.mouse 事件(模拟鼠标操作)
可以通过标签对象调用。
3.Keyboard 事件(模拟键盘操作)
4.其他操作
其他操作包括控制浏览器操作、获取断言信息、表单切换、多窗口切换、警告框处理、下拉框处理、文件上传操作、cookie操作、调用js代码、截图、关闭浏览器等.因为我这里用的不多,没有一一列举,就自己去官网学习了。
2.crawl 目标
这款实战爬虫主要完成以下目标:
在QQ音乐官网爬取指定歌手的前5首歌曲基本信息和前500名热门评论。
1.获取前五首歌曲的网址
分析这个页面的代码,我们知道包裹了所有歌曲信息的标签的class是唯一的,我们可以拿到,然后遍历所有的子标签,我们也可以得到所有包裹歌曲信息的div歌曲信息,然后获取里面的标签。
2.获取歌曲基本信息
可以看到基本信息标签中的类名是语义的一部分,所以肯定可以通过css选择器来唯一确定。
3.获取歌词
页面上的歌词不完整。貌似需要点击展开,其实所有的歌词都已经在标签里了,只是显示问题。