爬取网页表格数据通常需要以下步骤:
1. 确定目标网站和需要爬取的表格。
2. 使用`requests`库发起HTTP请求获取网页内容。
3. 使用`BeautifulSoup`库解析HTML内容,提取表格数据。
4. 处理提取到的数据,如转换为数据框(DataFrame)。
5. 将数据框保存为CSV或其他格式文件。
下面是一个简单的示例,使用`requests`和`BeautifulSoup`爬取网页表格数据:
import requests
from bs4 import BeautifulSoup
发起HTTP请求获取网页内容
url = 'http://example.com/table.html' 替换为你的目标网址
response = requests.get(url)
使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
查找所有表格标签
tables = soup.find_all('table')
遍历所有表格并提取数据
for table in tables:
查找表格的表头
headers = [th.text.strip() for th in table.find_all('th')]
查找表格的所有行
rows = table.find_all('tr')[1:] 跳过表头
遍历行并提取单元格数据
data = []
for row in rows:
cols = row.find_all('td')
cols = [ele.text.strip() for ele in cols]
data.append([ele for ele in cols if ele]) 去除空值
将数据转换为数据框
df = pd.DataFrame(data, columns=headers)
保存数据框到CSV文件
df.to_csv('output.csv', index=False) 替换为你想要的文件名
请根据你的具体需求调整代码,比如处理编码问题、选择合适的解析器(如`lxml`)等。如果你需要处理更复杂的表格结构,可能需要使用更高级的解析技术,如XPath或CSS选择器。