爬取中国大学全网mooc:NO.1

  • 作者:夜斗小神社

  • IDEA工具:PyCharm

  • 抓包工具:Fiddler

  • 时间:2021/5/2

小夜斗与爬虫已经很久没交流过辽,想着能重新把爬虫捡起来,这次就试一下mooc这个网站,希望能够做一个全网爬虫!


爬取结果是:mooc官网左侧的课程分类,并获取其跳转链接

一:通过Fiddler抓包分析

抓包过程很简单:打开Fiddler点击Caputre,刷新网页进行抓包

小夜斗通过分析发现这个课程分类url地址链接如下所示:

# 1:课程分类网址
course_classify = 'https://www.icourse163.org/web/j/indexBeanV3.getCategoryInfo.rpc?csrfKey=10dc66f3f3eb49148d5bb5ad38269204'

看了一下也没有啥加密的参数,就是一个简单的POST请求

带时候带上请求头headers发送请求就可,请求头如下:

# 2: 请求头
headers = {'全部copy下来,cookie千万不要漏掉'}
'''
替换规则:快速改变请求头格式
(.*?): (.*)
'$1':'$2',
'''

二:开始着手写爬虫代码

(一):定义一个函数获取课程系列跳转链接

def get_channel():# 1:课程分类网址course_classify = 'https://www.icourse163.org/web/j/indexBeanV3.getCategoryInfo.rpc?csrfKey=10dc66f3f3eb49148d5bb5ad38269204'# 发起请求r = requests.post(url=course_classify, headers=headers)try:if r.status_code == 200:# 获取json文本内容content = r.json()print(content)# 获取计算机类的跳转链接computer_href = content['result'][1]['targetUrl']print(f'computer_href:{computer_href}')# 循环遍历拿去课程系列名和跳转链接# 然后用字典来装载channel_dict = {}for course in content['result']:# 获取channelName系列课程名channelName = course['channelName']# 获取目标链接targetUrl = course['targetUrl']channel_dict[channelName] = targetUrlprint(f'channel_dict:{channel_dict}')return channel_dictexcept:print("爬虫被识别!")

每行代码都给了详细的注释信息

有问题可以在评论区留言或者私信小夜斗都可以的哈

打印的装载目标调整链接的字典channel_dict如下所示:


(二):写一个跳转链接的逻辑接口

获取到的专栏列表:从专栏选择你想要跳转的频道,如果有就直接进行链接跳转,没有的话让用户重新选择!

if __name__ == '__main__':# 1:定义一个函数获取课程系列跳转链接course_channel = get_channel()# 2:获取专栏系列名称keys = course_channel.keys()# 以列表的形式打印出来print(f'专栏系列名称列表:\n{list(keys)}')# 2:访问计算机专栏while True:channel = input('根据专栏选择你想要看的专栏:')if channel not in list(keys):print("现在还没有开辟此专栏,请重新选择!")continueelse:print("选择成功:开始跳转链接.......")break


本期分享就到这里啦,下期爬虫内容也会是mooc这个网址!

关注夜斗小神社,自学pyhon爬虫不迷路!

  • 在这个星球上,你很重要,请珍惜你的珍贵! ~~~夜斗小神社

【史上最骚爬虫|疯狂爬取中国大学mooc】太燃了,爬虫vs慕课反爬世纪大战|No.1相关推荐

  1. 批量爬取中国大学MOOC网站的媒体资源

    质量声明:原创文章,内容质量问题请评论吐槽.如对您产生干扰,可私信删除. 主要参考:https://github.com/Dayunxi/getMOOCmedia 三点说明: 感谢 中国大学MOOC ...

  2. 使用selenium + chrome爬取中国大学Mooc网的计算机学科的所有课程链接

    目的:使用selenium + chrome爬取中国大学Mooc网计算机学科的所有的课程链接列表 思路:找到每个分页的节点属性为class="m-course-list" 的div ...

  3. python大学课程-Python 爬取中国大学 MOOC 课程

    中国大学 MOOC 是网易旗下一款慕课视频教育网站.实话说,这是网易几款教育类产品中,我最喜欢的一个.自己也使用了一年多,观看视频都是需要联网的,但部分 MOOC 课程存在有效期,设定的学期结束即无法 ...

  4. 史上最细,Charles抓包工具的基本配置、查找接口的方法、爬取中国大学Mooc整门课程

    今天给大家分享Charles这个软件,讲解基本配置和接口查询操作,最后用一个中国大学mooc的示例来展示Charles在Windows端的用法.内容丰富,技术要点详细,站里面搜索中国大学MOOC爬虫的 ...

  5. Python爬取中国大学MOOC课程信息

    问题:获取中国大学MOOC平台的课程信息,包括开课学校.课程类别(标签).课程名称.课程评分.评价人数和已参加课程人数. 思路: 1.进入中国大学MOOC首页,点击"学校",进入学 ...

  6. 自动爬取中国大学mooc的pdf文档

    由于中国大学mooc里课程的pdf文档不方便下载,因此这里敲一个能自动下载课程里所有pdf的代码: 窗体代码: from tkinter import * from tkinter.filedialo ...

  7. mooc上python课程哪个好_如何爬取中国大学MOOC上的课程信息

    因为最近需要做一个关于课程类的项目,但苦于没有相关课程的信息及简介.当我在看MOOC上面的Python爬虫课程时,突然想到MOOC上面的课程信息如此完善,我为何不利用下MOOC上面的课程信息呢,说干就 ...

  8. Python 爬取中国大学 MOOC 课程

    MOOC 课程存在有效期,设定的学期结束即无法观看. Course Crawler 这个爬虫工具的出现,则提供了极大的便利. 准备 第一步:安装 Python 3 环境 进入 Python 3 官网( ...

  9. 第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的步骤方法)

    第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的想法) 名称:定向爬取--中国大学排名定向爬取 首先,爬之前,看看你要定向爬取的网站和数据是什么类型的? 打开你要爬取网站, ...

最新文章

  1. 世界种业并购史 国际农民丰收节贸易会起底农化巨头构架
  2. Java静态代理、动态代理与CGLib代理
  3. 《操作系统》库函数与系统调用的区别和联系?
  4. Codeforces Round #408 (Div. 2)
  5. goahead 的认证和自定义登陆页面的cookie使用【原创】
  6. java day61【 SpringMVC 的基本概念 、 SpringMVC 的入门 、 请求参数的绑定 、常用注解 】...
  7. C++使用万能头文件报错
  8. 删除讨厌的4199流氓软件
  9. 2021四川紧急选调/国考备考策略----申论/行测(2020.8.22号开始)
  10. unity新手小球走迷宫小游戏
  11. 使用css样式做出亚克力背景和透明背景
  12. C语言笔记本电脑销售系统课设
  13. NPDP产品经理小知识:端到端的流程建设与跨职能团队管理
  14. 微信模板消息发送成功但显示空白的问题
  15. 程序员为什么工资是用10k表示10000?
  16. 华为荣耀总裁刘江峰正式宣告离职
  17. java 数学测试_自动生成不同难度的数学试卷系统,并输出到txt文件中,命名为当前时间(java)...
  18. 服务器通过笔记本共享网络
  19. [NAS] Synology(群晖) / QNAP(威联通) 设置 MariaDB 远程访问 (附带多设备DB速度测试)
  20. 中国工程项目入围全球基础设施数字化大赛

热门文章

  1. java中的map对象_java中遍历Map对象的四种方式
  2. 2011年的赢家和输家
  3. mysql/mariadb 进阶知识之表设计和查询
  4. edge-tts微软文本转语音库
  5. java语言在scada系统中的应用_基于J2EE平台的SCADA系统实现
  6. UVM:寄存器模型 构建
  7. 每天学日语:日语输入法教程及日文键盘分部图
  8. 51单片机风扇转动c语言代码,基于51单片机的智能风扇控制系统设计.doc
  9. ArcGIS Runtime SDK for Windows Phone 入门教程
  10. 欢迎观看Toni_hou的#生活#2