selenium爬取css框架中的表格数据
时间: 2023-10-18 13:05:43 浏览: 214
使用 Selenium 爬取 CSS 框架中的表格数据需要以下步骤:
1. 打开网页并定位到包含表格的元素,可以使用 `driver.get(url)` 方法打开网页,然后使用 `driver.find_element_by_css_selector(css_selector)` 或其他定位方法获取包含表格的元素。
2. 获取表格的行和列数,可以使用 `element.find_elements_by_css_selector(css_selector)` 或其他定位方法获取表格中的所有行和列。
3. 遍历每一行和每一列,通过 `row.find_elements_by_tag_name('td')` 或其他定位方法获取每一行中的所有单元格,再通过 `cell.text` 获取单元格的文本内容。
4. 将获取到的数据存储到列表或字典中,根据需要进行进一步处理。
下面是一个示例代码,爬取了 Bootstrap 网站中的表格数据:
```python
from selenium import webdriver
# 打开网页
driver = webdriver.Chrome()
driver.get('https://getbootstrap.com/docs/5.0/content/tables/')
# 定位表格元素
table = driver.find_element_by_class_name('table')
# 获取行和列数
rows = table.find_elements_by_tag_name('tr')
cols = rows[0].find_elements_by_tag_name('th')
# 遍历每一行和每一列,获取单元格数据
data = []
for i, row in enumerate(rows):
if i == 0:
continue # 跳过表头行
row_data = {}
cells = row.find_elements_by_tag_name('td')
for j, cell in enumerate(cells):
col_name = cols[j].text
row_data[col_name] = cell.text
data.append(row_data)
# 输出数据
print(data)
# 关闭浏览器
driver.quit()
```
这里使用了 Chrome 浏览器和 ChromeDriver,需要根据自己的实际情况修改。同时,需要注意定位表格元素和单元格的 CSS 选择器,不同的 CSS 框架可能有不同的选择器。
阅读全文