用python爬虫爬取https://www.shanghairanking.cn/institution网站的校名、地区、管理部门、类别、双一流 并写入csv文件的代码
时间: 2024-04-05 19:30:39 浏览: 52
好的,以下是代码实现:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 获取网页内容
url = "https://www.shanghairanking.cn/institution"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
# 获取表格头
table_head = soup.find("thead").find_all("th")
headers = [th.text.strip() for th in table_head]
# 获取表格数据
table_body = soup.find("tbody").find_all("tr")
data = []
for tr in table_body:
row = []
tds = tr.find_all("td")
for td in tds:
row.append(td.text.strip())
data.append(row)
# 筛选出需要的列
selected_data = []
for row in data:
selected_row = []
selected_row.append(row[1]) # 校名
selected_row.append(row[2]) # 地区
selected_row.append(row[3]) # 管理部门
selected_row.append(row[4]) # 类别
selected_row.append(row[5]) # 双一流
selected_data.append(selected_row)
# 写入csv文件
with open("shanghai_ranking.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["校名", "地区", "管理部门", "类别", "双一流"])
writer.writerows(selected_data)
```
这段代码使用requests和BeautifulSoup库获取了目标网站的内容,然后从中提取出表格头和表格数据。接着,它筛选出了需要的栏位(即校名、地区、管理部门、类别、双一流),并将这些数据写入到CSV文件中。注意要在代码中指定文件名和编码格式。
阅读全文