📌  相关文章
📜  使用Python从网站上抓取表格 – Selenium(1)

📅  最后修改于: 2023-12-03 15:36:36.359000             🧑  作者: Mango

使用Python从网站上抓取表格 – Selenium

如果你需要从网站上抓取数据,并且数据是以表格的形式呈现的,那么 Selenium 是一个很好的选择。Selenium 是一个网页自动化工具,它可以模拟用户在浏览器中的行为,例如点击链接、填写表单等。

准备工作

首先,你需要安装 Selenium,可以使用 pip 命令进行安装:

pip install selenium

同时,你需要下载相应浏览器驱动的文件,例如如果你要使用 Chrome 浏览器,需要下载 Chrome 驱动,下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads 。

下载完成后,将驱动文件保存在 Python 脚本所在的目录下,或者将其添加到系统环境变量中。

示例代码

下面是一个使用 Selenium 抓取网站表格数据的示例代码,该代码使用 Chrome 浏览器并访问了一个名为 "test.html" 的网页:

from selenium import webdriver

# 创建 Chrome 浏览器驱动对象
driver = webdriver.Chrome()

# 访问网页
driver.get("file:///C:/path/to/test.html")

# 查找表格元素
table = driver.find_element_by_tag_name('table')

# 获取表格所有行
rows = table.find_elements_by_tag_name('tr')

# 遍历行并输出数据
for row in rows:
    # 获取当前行所有列
    cols = row.find_elements_by_tag_name('td')
    # 遍历列并输出数据
    for col in cols:
        print(col.text, end="\t")
    print()
    
# 关闭浏览器
driver.quit()

在该示例中,首先创建了一个 Chrome 浏览器驱动对象 driver,并使用 get() 方法访问了一个本地网页。接着通过 find_element_by_tag_name() 方法找到了名为 "table" 的表格元素 table,并使用 find_elements_by_tag_name() 方法获取了表格中的所有行元素 rows。最后,嵌套两个 for 循环遍历了表格中的所有行和列,并分别输出了其中的文本内容。

结语

使用 Selenium 抓取表格数据是一项非常实用的技能,相信读者们都可以将这项技能应用到自己的工作中去。