| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> Selenium爬虫_part1 关于Selenium -> 正文阅读 |
|
[开发测试]Selenium爬虫_part1 关于Selenium |
Selenium爬虫——part1因为毕业项目data collection的需要,6月份的时候使用python的selenium包进行了一些爬虫,主要专注于3个网站,难度不高,但也颇有收获,在此进行总结以便以后的进步。 1. Selenium 介绍先贴一个selenium的官方文档: 以下是百度中Selenium的基本介绍: “Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。” 而对于爬虫来说,相比于其他的包,Selenium不仅可以爬取动态网站,其最大的好处就是可以像真正的用户在操作一样,进行点击,滑动,甚至输入用户名密码等操作,并且可以实时看到它的操作,为工作带来了很大的便捷性。下面对于selenium的使用进行简单的介绍: 2. 安装chromedriver我们此处运用google chrome作为浏览器,使用之前我们需要下载chromedriver。 3. 使用流程&常用函数先下载selenium:
需要注意的是这里driver_path就是我们之前下载的chromedriver.exe的路径,而page_to_scrap是我们要爬取的网址,此处以百度为例。 如果运行成功,电脑会弹出一个新的窗口打开我们要爬取的网址,就像一个人在操作一样。 现在我们就可以利用selenium中的函数获取网页中需要的内容。介绍selenium的常用函数之前,我们先来简单看一下网页结构。在想要获取的内容处右击鼠标,选择“检查”,可以看到网页的代码类似这样:
当然不是class name是唯一的才可以,若有多个同样的class name,find_element_by_class_name()找出的是一个list, 选出对应的那一部分就好。除此之外, 还有很多其他的函数可以让我们更快捷地定位我们想查找的内容。 内容定位常用函数:
*通过Xpath定位是比较直接准确的方法,例子:driver.find_element_by_xpath("//div[@id=‘menuContainer’]/div/div/ul/li[4]/a") 更多的定位方法可以进入官方文档的Locating Elements一章中查看。 我们前面找到的’喜迎冰雪盛会 一起向未来’这一段文字是一个超链接,所以找到这一段文字后,我们还可以通过selenium去点击,进入一个新的网页:
网页操作常用函数:
更多的网页操作相关函数可以进入官网文档查看。 4. 实际应用学习了selenium的基本操作后,就可以利用它进行一些数据的爬取,让selenium成为自己的手下工作起来 ^_^ 后面对于几个我们熟悉的网站进行数据爬取,也记录了一些常见的问题,比如验证码的拦截等,请持续关注后续文章。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 2:33:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |