Python学习:用Selenium读取网页表格

这篇具有很好参考价值的文章主要介绍了Python学习:用Selenium读取网页表格。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.获取表格元素:

表格的结构一般以table标签开始,此函数是获取table元素的,一个网页中可能不止一个表格,此处返回表格元素的列表。

def GetTableElements():
    '''获得table标签元素列表,方便选择合适的表格'''
    driver = GetDriver()
    # 参考:selenium 根据 tag名 选择元素  https://blog.csdn.net/weixin_41665637/article/details/111315408
    elements = 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就是从表头中获取的每一列的名字列表。文章来源地址https://www.toymoban.com/news/detail-510499.html

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]] = td
    return 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].text
        res.append(tmpRow)
    return res

到了这里,关于Python学习:用Selenium读取网页表格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python Selenium 获取动态网页指定元素的超链接

    本文是个人使用Python Selenium 获取动态网页指定元素的超链接的电子笔记,由于水平有限,难免出现错漏,敬请批评改正。 更多精彩内容,可点击进入Python日常小操作专栏或我的个人主页查看 熟悉Python 熟悉Requests 熟悉XPath 熟悉Selenium Python是一种跨平台的计算机程序设计语言。

    2024年01月19日
    浏览(73)
  • 一个月学通Python(三十四):使用Selenium模拟人工操作及获取网页内容

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对近年

    2024年02月13日
    浏览(61)
  • Python 自动获取大批量excel数据并填写到网页表单(pandas;selenium)

    自动获取大批量excel数据并填写到网页表单 部分网页获取下拉列表点击的方式有所差异 这个请根据网页源码自做选择 一定要学会使用IPDB调试工具 太好用了!!!! 可能需要pip update一下 看提示 很好解决 没有报错最好啦 Python真是太好用了 办公利器啊!!!!

    2024年02月12日
    浏览(50)
  • python通过selenium爬取网页信息,python获取浏览器请求内容,控制已经打开的浏览器

    背景:通过python中直接get或者urlopen打开一些有延迟加载数据的网页,会抓取不到部分信息。 1. 命令行打开chrome,并开启调试端口 (前提,找到chrome安装目录,找到chrome.exe所在路径,添加到环境变量中,例如我的是C:Program FilesGoogleChromeApplication) remote-debugging-port指定远程调试

    2024年02月16日
    浏览(81)
  • 【EXCEL】通过url获取网页表格数据

    目录 0.环境 1.背景 2.具体操作 windows + excel2021 之前我用python的flask框架的爬虫爬取过豆瓣网的电影信息,没想到excel可以直接通过url去获取网页表格内的信息,比如下图这是电影信息界面 即将上映电影 (douban.com) 通过excel操作,将电影信息爬取到表格内,如下图 1)点击菜单栏

    2024年02月16日
    浏览(40)
  • 第一个Python程序_获取网页 HTML 信息[Python爬虫学习笔记]

    使用 Python 内置的 urllib 库获取网页的 html 信息。注意,urllib 库属于 Python 的标准库模块,无须单独安装,它是 Python 爬虫的常用模块。 1) 获取响应对象 向百度(http://www.baidu.com/)发起请求,获取百度首页的 HTML 信息,代码如下: 上述代码会返回百度首页的响应对象, 其中

    2024年01月17日
    浏览(41)
  • 使用selenium获取网页源码

    安装好selenium和下载好WebDriver后即可测试。下面演示如何打开一个网址,并获取该网站的源码。 基本步骤如下: 1. 导入webdriver from seleniumimport webdriver 2. 创建浏览器操作对象 指定下载的webdriver文件路径,我有将该文件复制到了当前程序运行的路径下,所以直接指定该文件名,

    2023年04月08日
    浏览(42)
  • selenium常见问题(网页缩放、滑动,元素获取不到......)

    解决办法: 方法一: element = driver.find_element_by_xpath(\\\"表达式\\\") driver.execute_script(\\\"arguments[0].click();\\\", element) 方法二: element = driver.find_element_by_xpath(\\\'表达式\\\') webdriver.ActionChains(driver).move_to_element(element ).click(element ).perform() 方法一 使用js脚本直接操作: js = \\\"var q=document.getElementById

    2024年02月13日
    浏览(43)
  • 关于使用Selenium获取网页控制台的数据

    需要获取网页的控制台的数据,如下图 Pycharm安装 Selenium安装 Selenium中的find_element方法 //供参考 这里使用Chrome有一个技巧可以直接复制元素的信息 到此我们已经完成了一部分简单的自动化操作了 接下来我们需要记录和获取控制台的信息,这部分参考可参考 jmeter-调用python脚本

    2024年02月02日
    浏览(52)
  • 爬虫:使用Selenium模拟人工操作及获取网页内容

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对近年

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包