beautifulsoup爬取表格
时间: 2023-07-24 07:22:06 浏览: 139
用beautifulsoup爬页面
好的,我来给你讲一下如何使用BeautifulSoup爬取网页中的表格。
首先,你需要导入BeautifulSoup库和requests库:
```python
from bs4 import BeautifulSoup
import requests
```
然后,你需要使用requests库发送HTTP请求来获取网页的HTML代码:
```python
url = 'http://example.com'
response = requests.get(url)
html = response.text
```
接下来,你需要使用BeautifulSoup解析HTML代码,并找到需要提取的表格:
```python
soup = BeautifulSoup(html, 'html.parser')
table = soup.find('table')
```
现在,你已经成功找到了表格。如果表格比较简单,只有一行表头和多行数据,你可以使用如下代码来提取数据:
```python
# 找到所有的行
rows = table.find_all('tr')
# 提取表头
header = [th.text.strip() for th in rows[0].find_all('th')]
# 提取数据
data = []
for row in rows[1:]:
cols = row.find_all('td')
cols = [col.text.strip() for col in cols]
data.append(dict(zip(header, cols)))
```
这段代码会将表格中的每行数据以字典形式保存在一个列表中,其中字典的键是表头,值是该行对应的数据。
如果表格比较复杂,可能会有嵌套的表头和数据,你需要使用递归的方式来提取数据。不过这部分的代码就比较复杂了,需要根据实际情况来编写。
希望这个例子对你有帮助!
阅读全文