【史上最骚爬虫|疯狂爬取中国大学mooc】太燃了,爬虫vs慕课反爬世纪大战|No.1
爬取中国大学全网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相关推荐
- 批量爬取中国大学MOOC网站的媒体资源
质量声明:原创文章,内容质量问题请评论吐槽.如对您产生干扰,可私信删除. 主要参考:https://github.com/Dayunxi/getMOOCmedia 三点说明: 感谢 中国大学MOOC ...
- 使用selenium + chrome爬取中国大学Mooc网的计算机学科的所有课程链接
目的:使用selenium + chrome爬取中国大学Mooc网计算机学科的所有的课程链接列表 思路:找到每个分页的节点属性为class="m-course-list" 的div ...
- python大学课程-Python 爬取中国大学 MOOC 课程
中国大学 MOOC 是网易旗下一款慕课视频教育网站.实话说,这是网易几款教育类产品中,我最喜欢的一个.自己也使用了一年多,观看视频都是需要联网的,但部分 MOOC 课程存在有效期,设定的学期结束即无法 ...
- 史上最细,Charles抓包工具的基本配置、查找接口的方法、爬取中国大学Mooc整门课程
今天给大家分享Charles这个软件,讲解基本配置和接口查询操作,最后用一个中国大学mooc的示例来展示Charles在Windows端的用法.内容丰富,技术要点详细,站里面搜索中国大学MOOC爬虫的 ...
- Python爬取中国大学MOOC课程信息
问题:获取中国大学MOOC平台的课程信息,包括开课学校.课程类别(标签).课程名称.课程评分.评价人数和已参加课程人数. 思路: 1.进入中国大学MOOC首页,点击"学校",进入学 ...
- 自动爬取中国大学mooc的pdf文档
由于中国大学mooc里课程的pdf文档不方便下载,因此这里敲一个能自动下载课程里所有pdf的代码: 窗体代码: from tkinter import * from tkinter.filedialo ...
- mooc上python课程哪个好_如何爬取中国大学MOOC上的课程信息
因为最近需要做一个关于课程类的项目,但苦于没有相关课程的信息及简介.当我在看MOOC上面的Python爬虫课程时,突然想到MOOC上面的课程信息如此完善,我为何不利用下MOOC上面的课程信息呢,说干就 ...
- Python 爬取中国大学 MOOC 课程
MOOC 课程存在有效期,设定的学期结束即无法观看. Course Crawler 这个爬虫工具的出现,则提供了极大的便利. 准备 第一步:安装 Python 3 环境 进入 Python 3 官网( ...
- 第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的步骤方法)
第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的想法) 名称:定向爬取--中国大学排名定向爬取 首先,爬之前,看看你要定向爬取的网站和数据是什么类型的? 打开你要爬取网站, ...
最新文章
- 世界种业并购史 国际农民丰收节贸易会起底农化巨头构架
- Java静态代理、动态代理与CGLib代理
- 《操作系统》库函数与系统调用的区别和联系?
- Codeforces Round #408 (Div. 2)
- goahead 的认证和自定义登陆页面的cookie使用【原创】
- java day61【 SpringMVC 的基本概念 、 SpringMVC 的入门 、 请求参数的绑定 、常用注解 】...
- C++使用万能头文件报错
- 删除讨厌的4199流氓软件
- 2021四川紧急选调/国考备考策略----申论/行测(2020.8.22号开始)
- unity新手小球走迷宫小游戏
- 使用css样式做出亚克力背景和透明背景
- C语言笔记本电脑销售系统课设
- NPDP产品经理小知识:端到端的流程建设与跨职能团队管理
- 微信模板消息发送成功但显示空白的问题
- 程序员为什么工资是用10k表示10000?
- 华为荣耀总裁刘江峰正式宣告离职
- java 数学测试_自动生成不同难度的数学试卷系统,并输出到txt文件中,命名为当前时间(java)...
- 服务器通过笔记本共享网络
- [NAS] Synology(群晖) / QNAP(威联通) 设置 MariaDB 远程访问 (附带多设备DB速度测试)
- 中国工程项目入围全球基础设施数字化大赛
热门文章
- java中的map对象_java中遍历Map对象的四种方式
- 2011年的赢家和输家
- mysql/mariadb 进阶知识之表设计和查询
- edge-tts微软文本转语音库
- java语言在scada系统中的应用_基于J2EE平台的SCADA系统实现
- UVM:寄存器模型 构建
- 每天学日语:日语输入法教程及日文键盘分部图
- 51单片机风扇转动c语言代码,基于51单片机的智能风扇控制系统设计.doc
- ArcGIS Runtime SDK for Windows Phone 入门教程
- 欢迎观看Toni_hou的#生活#2