将以下表格的所有数据用bs4提取出来,并保存为同名的csv文件:<!DOCTYPE html><html><head> <title>Test Table</title></head><body> <table border="1"> <tr> <td>1</td> <td>2</td> </tr> <tr> <td>3</td> <td>4</td> </tr> <tr> <td>5</td> <td>6</td> </tr> </table></body></html>
时间: 2023-06-02 09:02:37 浏览: 120
```python
from bs4 import BeautifulSoup
import csv
with open('test.html') as html_file, open('test.csv', 'w', newline='') as csv_file:
soup = BeautifulSoup(html_file, 'html.parser')
table = soup.find('table')
rows = table.find_all('tr')
writer = csv.writer(csv_file)
for row in rows:
data = []
cells = row.find_all('td')
for cell in cells:
data.append(cell.text.strip())
writer.writerow(data)
```
解释:
1. 首先,打开HTML文件和CSV文件。
2. 创建一个BeautifulSoup对象,将HTML文件作为输入,并指定使用“html.parser”解析器。
3. 使用“find”方法找到表格元素,然后使用“find_all”方法查找所有行。
4. 创建一个CSV写入器,将其连接到CSV文件。
5. 对于每一行,创建一个空列表来存储单元格数据。然后,使用“find_all”方法查找所有单元格,并将其文本内容添加到列表中。
6. 使用CSV写入器的“writerow”方法将数据写入CSV文件。
阅读全文