分析这个网页,http://www.bspider.top/gaosan/,使用BS4爬取网页信息,从表格中获取如下信息,并保存为paiming.csv 名次 学校名称 总分 全国排名 星级排名 办学层次
时间: 2024-12-28 17:36:49 浏览: 9
要使用BeautifulSoup (BS4) 和 Python 的 requests 库来爬取并分析指定网页,首先确保已经安装了这两个库。如果没有安装,可以通过 pip 安装:
```bash
pip install requests bs4 pandas
```
然后,我们可以编写一个脚本来抓取数据。这里是一个基本示例,展示了如何提取表格中的信息:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 发送请求
url = "http://www.bspider.top/gaosan/"
response = requests.get(url)
# 检查请求状态码
if response.status_code == 200:
# 解析 HTML 文档
soup = BeautifulSoup(response.text, 'html.parser')
# 查找包含所需表格的区域(假设表格在id为"gaosan_table"的元素中)
table = soup.find('table', {'id': 'gaosan_table'})
if table is not None:
rows = table.find_all('tr') # 获取所有行
# 创建 CSV 文件并写入表头
with open('paiming.csv', mode='w', newline='', encoding='utf-8') as csvfile:
fieldnames = ['名次', '学校名称', '总分', '全国排名', '星级排名', '办学层次']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for row in rows[1:]: # 跳过表头
cells = row.find_all('td') # 获取每个单元格
data = [cell.text.strip() for cell in cells] # 提取文本并去除前后空格
writer.writerow({'名次': data[0], '学校名称': data[1], '总分': data[2], '全国排名': data[3], '星级排名': data[4], '办学层次': data[5]})
else:
print(f"请求失败,状态码:{response.status_code}")
```
这段代码会根据页面结构找到表格,提取每一列的数据,并将其保存到 `paiming.csv` 文件中。请注意,如果实际网页的HTML结构发生变化,可能需要调整查找元素的方式。
阅读全文