Python 抓取岭东资讯比赛成绩
使用 requests + BeautifulSoup 爬取岭东资讯比赛成绩,自动保存为 CSV 文件。
代码功能说明
本脚本用于抓取 岭东资讯 上的比赛成绩数据,主要步骤包括:
- 构造分页 URL(支持自定义页码范围)
- 发送 GET 请求并解析 HTML
- 提取表格数据,清理括号内容
- 保存为
比赛数据.csv文件
核心代码
python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import requests
from bs4 import BeautifulSoup
import csv
import re
base_url = "http://china.530520.com.tw/msg/matchGameDetail.asp?Page={}&Ucgp=326&mID=431&mgID=1665"
rows = []
for i in range(50): # 总页码可调整
url = base_url.format(i)
response = requests.get(url)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find(name="table", attrs={'border': '0', 'cellpadding': '3'})
if i == 0:
for tr in table.find_all('tr')[0:1]:
row = [re.sub(r'\[.*?\]', '', td.text.strip()) for td in tr.find_all('td')]
if row:
rows.append(row)
else:
for tr in table.find_all('tr')[1:]:
row = [re.sub(r'\[.*?\]', '', td.text.strip()) for td in tr.find_all('td')]
if row:
rows.append(row)
with open('比赛数据.csv', 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
writer.writerows(rows)
print("数据已成功抓取并保存到'比赛数据.csv'文件中。")
使用说明
- URL 参数:
Ucgp和mID分别对应俱乐部/公棚编号与比赛编号,可根据需要修改 - 页码范围:
range(50)中的 50 可按实际总页数调整 - 输出文件:同目录下生成
比赛数据.csv,编码为 UTF-8 with BOM