Python + Selenium 爬取网易云课堂课时标题及时长

本文介绍了如何使用Python和Selenium库爬取网易云课堂的课程页面,获取课时标题和时长。由于页面内容动态加载,作者通过分析网络请求,发现并利用了动态加载数据的API。通过编写Python脚本,成功获取所需信息,并将结果保存到文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python + Selenium 爬取网易云课堂课时标题及时长

转载请注明出处:https://blog.youkuaiyun.com/jpch89/article/details/84142555



软件安装


目标页面

https://study.163.com/course/introduction.htm?courseId=1006078212#/courseDetail?tab=1

  • 一开始用常规方法请求下来,发现源码中根本找不到任何课时信息,说明该网页用 JavaScript 来动态加载内容。
  • 使用开发者工具分析一下,发现浏览器请求了如下的地址获取课时详情信息:
    https://study.163.com/dwr/call/plaincall/PlanNewBean.getPlanCourseDetail.dwr?1542346982156
  • 在预览界面可以看到各课时信息的 Unicode 编码。
    在这里插入图片描述
  • 尝试直接请求上述地址,显然会报错,不想去研究请求头具体应该传哪些参数了,直接上 Selenium,反正就爬一个页面,对性能没什么要求。

代码

说明

  • study163seleniumff.py主运行文件
  • helper.py 是辅助模块,与主运行文件同目录
  • geckodriver.exe 需要放在 ../drivers/ 这个相对路径下

study163seleniumff.py

from selenium.webdriver import Firefox
from selenium.webdriver.firefox.options import Options
from lxml import etree
import csv
from helper import Chapter, Lesson

# 请求数据
url = 'https://study.163.com/course/introduction.htm?courseId=1006078212#/courseDetail?tab=1'

options = Options()
options.add_argument(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值