文章采集调用(本文对使用到的技术仅做简单的介绍(组图) )
优采云 发布时间: 2021-11-24 23:25文章采集调用(本文对使用到的技术仅做简单的介绍(组图)
)
本文仅简单介绍所使用的技术。如果想了解更多,请到相应官网网站学习。
本文适合对爬虫相关知识接触较少的新手,主要是普及Selenium是如何做爬虫的,请跳过。
很多人学习python,掌握了基本语法后,不知道从哪里找案例上手。
许多做过案例研究的人不知道如何学习更高级的知识。
所以对于这三类人,我会为大家提供一个很好的学习平台,免费领取视频教程、电子书、课程源码!
QQ群:701698587
1.硒简介
1.简介
Selenium 是一个用于测试网站的自动化测试工具,支持各种主流界面浏览器。
总之,Selenium是一个网站自动化测试的库,它的定位是做自动化测试。我们也可以将其作为爬虫来获取一些网页信息,这个爬虫模拟了真实浏览器的操作,更加实用。
Selenium 是市场上唯一可以与付费产品竞争的自动化测试工具。
如果想了解更多可以到Selenium中文网学习:戳我去Selenium中文网
2.安装
要使用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获取,标签的其他属性值可以通过get_attribute()获取。
分享一个快速定位元素的小妙招:查看所需信息所在标签的id、class、name是否与标签下信息的语义相关。一般来说,相关的都是唯一的。(从开发者的角度考虑)如果当前标签不能唯一定位,考虑父标签。以此类推,你总能找到一种定位方法。
2.鼠标事件(模拟鼠标操作)
可以通过标签对象调用。
3.键盘事件(模拟键盘操作)
4.其他操作
其他操作包括控制浏览器的操作、获取断言信息、表单切换、多窗口切换、警告框处理、下拉框处理、文件上传操作、cookie操作、调用js代码、截图、关闭浏览器等操作,因为这里我用的不多,就不一一列举了,自己去官网学习吧。
2.爬取目标
本次实战爬虫主要完成以下目标:
在QQ音乐官网爬取指定歌手的前5首歌曲基本信息和前500名流行评论。
1.获取前五首歌曲的url
分析这个页面的代码,我们知道包裹所有歌曲信息的tag的class是唯一的,我们可以拿到它,然后遍历所有的子标签,或者一次性获取所有包裹歌曲信息的div,并且然后获取里面的 a 标签。
2.获取歌曲基本信息
可以看出,基本信息标签中的类名有一部分语义,所以可以通过css选择器来唯一确定。
3.获取歌词
页面上的歌词不完整,貌似需要点击展开,其实所有的歌词都已经在标签里了,只是显示问题。