Python学习:用Selenium读取网页表格
1.获取表格元素:
表格的结构一般以table标签开始,此函数是获取table元素的,一个网页中可能不止一个表格,此处返回表格元素的列表。
def GetTableElements():'''获得table标签元素列表,方便选择合适的表格'''driver = GetDriver()# 参考:selenium 根据 tag名 选择元素 https://blog.csdn.net/weixin_41665637/article/details/111315408elements = driver.find_elements_by_tag_name('table')return elements
2.获取表格头的列信息:
返回值形如 [‘列1的名字’, ‘列2的名字’]
def _GetHeadList(table):'''功能:返回表格列的名称列表参数:table:对应的表格元素'''thead = table.find_element_by_tag_name('thead')tr = thead.find_element_by_tag_name('tr')ths = tr.find_elements_by_tag_name('th')res = []for th in ths:res.append(th.text)return res
3.读取一行里面的信息:
其中heads就是从表头中获取的每一列的名字列表。
def _GetOneRow(tr,heads):'''功能:取得一行的信息tr:当前行的tr元素heads:是一个字符串列表,表示每一列的名称返回值:返回一个字典,形如:{'Row1': value1, 'Row2':value2}'''res = {}tds = tr.find_elements_by_tag_name('td')for i,td in enumerate(tds):res[heads[i]] = tdreturn res
4.获取表格每一个单元格对象:
def GetTable(table):'''功能:返回表格信息参数:table:对应的表格元素'''res = []# Python学习交流群:711312441 # 获得表格头heads = _GetHeadList(table)tbody = table.find_element_by_tag_name('tbody')trs = tbody.find_elements_by_tag_name('tr')for tr in trs:row = _GetOneRow(tr,heads)res.append(row)return res
5.也可以把单元格对象转换成文本:
def GetTableText(table):'''与GetTable函数相比,此函数把元素对象转换成文本'''res = []table = GetTable(table)for row in table:tmpRow = {}for key in row.keys():tmpRow[key]=row[key].textres.append(tmpRow)return res
Python学习:用Selenium读取网页表格相关推荐
- python利用xlrd模块读取xls表格选中某列提取全部数值,使用re去除英文字母,用ast将str类型转换成list
python利用xlrd模块读取xls表格选中某列提取全部数值,使用re去除英文字母,用ast将str类型转换成list import ast # 获取xls表中的代码并去重 import xlrd ...
- python读取网页表格数据库_python 提取网页表格数据库数据库
python开源工具列表[持续更新] 以下是个人在工作中整理的一些python wheel,供参考.这个列表包含与网页抓取和数据处理的Python库 网络 通用urllib -网络库(stdlib). ...
- Python案例学习:抓取网页表格数据解析并写入Excel
三年多没写博客了,原因是因为我转行了,经历了很长的低谷,那段时间从不看博客,今天打开来看,回复了一些评论,很抱歉,有些网友的评论没有及时回复.最近开始想写代码了~ 最近看基金股票,想抓取一些行业当天的 ...
- Python学习杂记之静态网页学习
每日一丧:我就是丧本丧了 笔者最近在为学习django而做准备,开始看起了网页,我们先说几个好一点的学习网站吧. 初学前端,笔者最常浏览的就是W3School. 链接:http://www.w3sch ...
- python学习 day49之CSS网页布局
CSS网页布局 一 网页布局方式 二 标准流 三 浮动流 什么是脱离文档流? 浮动元素脱标文档流意味着 注意点: 让两个元素显示到一行的 两种实现方式 方式一:修改显示方式为inline-block ...
- Python学习笔记——selenium无头模式
一.无头模式相关代码 from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_o ...
- python学习笔记 selenium
一.selenium 是一个强大的python库,它可以用几行代码,控制浏览器,做出自动打开.输入.点击等操作,就像是有一个真正的用户在操作一样. 1.本地环境的浏览器设置: from seleniu ...
- Python(9):利用selenium操作网页并抓取内容
因为项目原因,需要获取中国所有铁路线路及车次信息,但是并没有任何网站或文章直接将所有信息整合在一起提供出来,因此只能自己从页面上扒. 这里利用到了python的selenium模块,自动定位操作网页, ...
- Python学习笔记——openpyxl读取工作表的数据有效性设置信息
今天在用openpyxl读取表格信息时,需要根据表格中单元格的数据有效性设置中的序列内容来进行下一步操作判断.但是对于如何获取该序列的字符串值一点也不了解,网上查找资料只找到用DataValidati ...
最新文章
- 名称的特殊处理(Name Mangling)
- 表面积最小(POJ3536)
- 电脑技术吧_极简技术|快速整理电脑桌面繁乱的图标
- FLV协议5分钟入门浅析
- 2013搜狗校园招聘笔试题
- “阿基里斯与乌龟”的终结性思考
- iMeta:高颜值高被引绘图网站imageGP在线发表
- 在CentOS 7上安装并配置Python 3.6环境
- log4j:WARN Please initialize the log4j system properly 问题解决
- 第一次写博,好激动啊!
- bootstrap 响应式布局
- MATLAB中linspace函数使用
- Appium-iOS环境搭建
- 【问题解决】“Web“ facet resources
- scrapy 爬虫 环境搭建入门(一)
- 热烈欢迎中国中小商业企业协会叶焙副会长、沈亚桂秘书长一行莅临萝卜科技
- 南方cass字体样式设置_为什么装了CASS所有字体,还是有文字显示问号?
- python计算向量的模_计算Python Numpy向量之间的欧氏距离实例
- 二级c语言常用,二级C语言常用库函数.doc
- 移动 IP(计算机网络-网络层)