【网络爬虫】基于Selenium爬取动态网页

本文详细介绍了如何使用Selenium进行网页自动化测试,包括百度搜索、元素定位,以及如何爬取动态网页的名人名言和京东书籍信息。通过Python实现动态网页数据抓取,并存储为CSV格式。
该文章已生成可运行项目,

一、Selenium介绍与配置

1.Selenium简介

  Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。Selenium测试直接运行在浏览器中,可以模拟真实用户的行为。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好地工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。

2. Selenium+Python环境配置

pip install selenium

二、网页自动化测试

1.启动浏览器并打开百度搜索

from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://www.baidu.com/')

2.定位元素

  1. 在开发者工具中找到输入框
    在这里插入图片描述
  2. 输入要查询的值并通过button点击事件实现
input_btn = web.find_element_by_id('kw')
input_btn.send_keys('原神', Keys.ENTER)

测试:
在这里插入图片描述

三、爬取动态网页的名人名言

1. 网页数据分析

开发者工具中查看每一组名言(名言+名人)的位置:
在这里插入图片描述
现每一组名言都是在class="quote"div中,并且没有其他class="quote的标签。

在这里插入图片描述
且名句在class="text"<span>标签中,作者在class="author"small标签中。

2. 翻页分析

开发者工具中查看Next翻页按钮
在这里插入图片描述
可发现Next按钮只有href属性,无法定位。但可以通过查找网页最后一个有aria-hidden属性的span标签,进行点击以跳转到下一页。

3.爬取数据的存储

爬取后的数据需要存储至csv文件中,编写代码如下:

with open('Saying.csv', 'w', encoding='utf-8')as fp:
    fileWrite = csv.writer(fp)
    fileWrite.writerow(['名言', '名人'])   
    fileWrite.writerows(sayingAndAuthor)
web.close()

4. 爬取数据

代码准备:

from selenium.webdriver import Chrome
import time
import csv

web = Chrome(r"D:\\DevTools\\Anaconda\\download\\Anaconda3\\Lib\\site-packages\\selenium\\webdriver\\chrome\\chromedriver.exe")

web.get('http://quotes.toscrape.com/js/')

sayingAndAuthor = []
n = 5
for i in range(0, n):
    div_list = web
本文章已经生成可运行项目
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值