使用lxml/re库,爬取慕课网课程数据,数据包括课程的名称、学习人数、详情页url。 爬取URL为:http://www.imooc.com/course/list
时间: 2024-10-24 08:19:09 浏览: 31
使用Python的`lxml`和`re`库组合可以有效地抓取网页数据,尤其是对于结构相对清晰的网站如慕课网。首先,你需要安装这两个库,如果还没有的话,可以使用pip安装:
```bash
pip install lxml requests
```
然后,你可以编写一个简单的Python脚本来提取课程名称、学习人数和详情页URL。这里是一个基础示例,假设慕课网课程信息存在于HTML的某个固定位置,例如class为"course-info"的元素:
```python
import requests
from bs4 import BeautifulSoup
import re
# 请求慕课网首页
url = "http://www.imooc.com/course/list"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
# 提取课程列表
courses_list = soup.find_all('div', class_='course-info')
# 创建一个字典列表来存储结果
course_data = []
for course in courses_list:
# 提取课程名称
title = course.find('h3').text.strip()
# 提取学习人数
try:
learning_num = course.find('span', class_='learn-num').text.strip()
except AttributeError:
learning_num = '未知'
# 提取详情页URL
detail_url = course.find('a')['href']
# 存储到字典并添加到结果列表
course_data.append({
'课程名称': title,
'学习人数': learning_num,
'详情页URL': 'http://www.imooc.com' + detail_url
})
# 打印或保存数据
for data in course_data:
print(data)
#
阅读全文