IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Practice 1_使用selenium基本用法实现对大学排名等数据爬取 -> 正文阅读

[开发测试]Practice 1_使用selenium基本用法实现对大学排名等数据爬取

在学习网络爬虫的过程中,通过在mooc上北理嵩天老师的爬虫教学课和平时的自学完成最基础的对无需登录的大学排名网站爬取数据,mooc上老师使用的是bs4库中的BeautifulSoup库以及正则表达式实现对大学排名的爬取。本文中通过selenium中的webdriver实现模拟浏览器的登录和爬取需要的数据,并存储和读取爬取的数据

完整代码如下:

from selenium import webdriver

options=webdriver.ChromeOptions()
options.add_argument('--start-maximized')

'''驱动模拟浏览器并达到指定网页'''
driver = webdriver.Chrome("E:\chromedriver.exe")
driver.get('https://www.shanghairanking.cn/rankings/bcur/2021')

'''使用xpath定位抓取数据'''
names_tags=driver.find_elements_by_xpath("//a[@class='name-cn']")#通过标签名与属性查找
#由于位置与分数用上述方式找不到,通过xpath查找兄弟节点标签的功能查找
locations_tags=driver.find_elements_by_xpath("//td[@class='align-left']/following-sibling::td[1]")
scoles_tags=driver.find_elements_by_xpath("//td[@class='align-left']/following-sibling::td[3]")
info_list=[]
i=0
while i<len(names_tags):
	info_list.append([names_tags[i].get_attribute('textContent').strip(),locations_tags[i].get_attribute('textContent').strip(),scoles_tags[i].get_attribute('textContent').strip()])
	print(info_list[i])#打印输出爬取的数据
	i=i+1
driver.quit()

'''存储数据'''
path='E:/python学习文件/py_爬虫/projects/infor_of_unives.txt'
with open(path,'a') as f:
	for univer in info_list:
		f.write(str(univer)+'\n')
f.close()

'''读取数据'''
with open(path,'r') as f:
	print(f.read())

爬取数据展示(我这里使用列表形式存储):

由于这个大学排名网页在翻页时url链接不会发生改变,后续想着改进的地方:

#实现抓取多页数据?

后续也会继续学习python和爬虫这一块,先熟悉selenium的更多用法,正在做对需要登录的淘宝数据抓取和数据可视化处理,再学一学re库、数据处理常用的方法。

?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:30:21  更:2021-09-18 10:32:08 
 
开发: 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年5日历 -2024/5/20 23:36:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码