Python爬虫---中国大学MOOC爬取数据(文中有数据集)
以下是一个简化的Python爬虫代码示例,用于从中国大学MOOC网站上爬取课程信息,并将其保存到CSV文件中。
import requests
import csv
from bs4 import BeautifulSoup
def get_courses_data(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
courses = soup.find_all('div', class_='course-card-container')
courses_data = []
for course in courses:
title = course.find('div', class_='title').text
level = course.find('div', class_='level').text
num_students_str = course.find('div', class_='num-students').text
num_students = int(num_students_str.replace(',', '').split()[0])
courses_data.append((title, level, num_students))
return courses_data
def save_to_csv(data, filename):
with open(filename, 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['Title', 'Level', 'Number of Students'])
writer.writerows(data)
# 示例URL
url = 'https://www.icourse163.org/course/0809-023925?from=searchPage'
courses_data = get_courses_data(url)
save_to_csv(courses_data, 'courses_data.csv')
这段代码首先定义了一个函数get_courses_data
,它接受一个URL作为参数,发送HTTP请求,解析响应内容,并提取课程信息。然后定义了另一个函数save_to_csv
,它将数据保存到CSV文件中。最后,使用一个示例URL调用了这两个函数,获取数据并保存。
请注意,由于爬取行为可能违反中国大学MOOC的使用条款,因此在未经允许的情况下,不应使用此代码进行爬取。此外,网站的HTML结构可能会发生变化,因此解析代码可能需要定期更新以保持其有效性。
评论已关闭