使用Python抓取多页表格并导出为CSV文件可以通过以下步骤实现:
下面是一个示例代码,演示如何使用Python抓取多页表格并导出为CSV文件:
import requests
from bs4 import BeautifulSoup
import csv
def fetch_table_data(url):
# 发送HTTP GET请求获取页面内容
response = requests.get(url)
html = response.text
# 解析HTML页面
soup = BeautifulSoup(html, 'html.parser')
# 定位表格元素
table = soup.find('table')
# 提取表格数据
data = []
rows = table.find_all('tr')
for row in rows:
cols = row.find_all('td')
row_data = [col.text.strip() for col in cols]
data.append(row_data)
return data
def export_to_csv(data, filename):
with open(filename, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for row in data:
writer.writerow(row)
# 抓取多页表格并导出为CSV文件
base_url = 'https://example.com/table?page='
num_pages = 5
all_data = []
for page in range(1, num_pages+1):
url = base_url + str(page)
table_data = fetch_table_data(url)
all_data.extend(table_data)
export_to_csv(all_data, 'table_data.csv')
这段代码通过循环抓取多个页面的表格数据,并将所有数据合并到一个列表中。最后,使用export_to_csv
函数将数据导出为CSV文件。你可以根据实际情况修改base_url
、num_pages
和文件名等参数。
领取专属 10元无门槛券
手把手带您无忧上云