写在前面

今天咱们抓取一下网易云课堂的课程数据,这个网站的数据量并不是很大,我们只需要使用requests就可以快速的抓取到这部分数据了。 你第一步要做的是打开全部课程的地址,找出爬虫规律,

地址如下: study.163.com/courses/

我简单的看了一下,页面数据是基于 https://study.163.com/p/search/studycourse.json 这个地址进行异步加载的。你自己尝试的时候需要借助开发者工具 进行多次尝试,抓取到这个地址的数据为准。

还有一个地方需要注意,这次是post提交方式,并且提交数据是payload类型的,这个原因导致我们的代码和以前的略微有一些不同的地方。

提取post关键字,看一下各个参数的意思,如果你爬取的网站足够多,那么训练出来的敏感度能够快速的分析这些参数

{"pageIndex":55, # 页码
"pageSize":50,  # 每页数据大小
"relativeOffset":2700,
"frontCategoryId":-1,
"searchTimeType":-1,
"orderType":50,
"priceType":-1,
"activityId":0,
"keyword":""   # 搜索相关
}
复制代码

好了,可以开始编写代码了,核心的代码就是通过requests模块发送post请求

def get_json(index):print(f"正在抓取{index}页数据")payload = {"pageIndex":index,"pageSize":50,"relativeOffset":50,"frontCategoryId":-1,"searchTimeType":-1,"orderType":50,"priceType":-1,"activityId":0,"keyword":""}headers = {"Accept":"application/json","Host":"study.163.com","Origin":"https://study.163.com","Content-Type":"application/json","Referer":"https://study.163.com/courses","User-Agent":"自己去找个浏览器UA"}try:# 请注意这个地方发送的是post请求# CSDN 博客 梦想橡皮擦res = requests.post("https://study.163.com/p/search/studycourse.json",json=payload,headers=headers)content_json = res.json()if content_json and content_json["code"] == 0:data = get_content(content_json)  # 获取正确的数据############################################if len(data) > 0:save_mongo(data)   # 保存数据############################################except Exception as e:print("出现BUG了")print(e)finally:time.sleep(1)index+=1get_json(index)def get_content(content_json):if "result" in content_json:return content_json["result"]["list"]复制代码

因为获取到的数据是json类型的,所以,数据可以快速的保存到mongodb里面,保存数据的代码我依旧留空,希望你自己可以完善。

通过很短的时间,我们就捕获到了3000门课程

好了,需要代码和数据,请评论留下我能联系你的方式即可。

Python爬虫入门教程 21-100 网易云课堂课程数据抓取相关推荐

  1. python数据抓取课程_Python爬虫入门教程 21-100 网易云课堂课程数据抓取

    写在前面 今天咱们抓取一下网易云课堂的课程数据,这个网站的数据量并不是很大,我们只需要使用requests就可以快速的抓取到这部分数据了. 你第一步要做的是打开全部课程的地址,找出爬虫规律, 地址如下 ...

  2. Python爬虫入门教程 33-100 《海王》评论数据抓取 scrapy

    1. 海王评论数据爬取前分析 海王上映了,然后口碑炸了,对咱来说,多了一个可爬可分析的电影,美哉~ 摘录一个评论 零点场刚看完,温导的电影一直很不错,无论是速7,电锯惊魂还是招魂都很棒.打斗和音效方面 ...

  3. Python爬虫入门【18】: 36氪(36kr)数据抓取 scrapy

    1. 36氪(36kr)数据----写在前面 今天抓取一个新闻媒体,36kr的文章内容,也是为后面的数据分析做相应的准备 36kr 让一部分人先看到未来,而你今天要做的事情确实要抓取它的过去. 网址 ...

  4. Python爬虫入门【16】:链家租房数据抓取

    1. 写在前面 作为一个活跃在京津冀地区的开发者,要闲着没事就看看石家庄这个国际化大都市的一些数据,这篇博客爬取了链家网的租房信息,爬取到的数据在后面的博客中可以作为一些数据分析的素材. 我们需要爬取 ...

  5. Python爬虫入门教程 19-100 51CTO学院IT技术课程抓取

    0. 51CTO学院写在前面 从今天开始的几篇文章,我将就国内目前比较主流的一些在线学习平台数据进行抓取,如果时间充足的情况下,会对他们进行一些简单的分析,好了,平台大概有51CTO学院,CSDN学院 ...

  6. Python爬虫入门教程 34-100 掘金网全站用户爬虫 scrapy

    爬前叨叨 已经编写了33篇爬虫文章了,如果你按着一个个的实现,你的爬虫技术已经入门,从今天开始慢慢的就要写一些有分析价值的数据了,今天我选了一个<掘金网>,我们去爬取一下他的全站用户数据. ...

  7. Python爬虫入门教程 13-100 斗图啦表情包多线程爬取

    1.准备爬取斗图la写在前面 今天在CSDN博客,发现好多人写爬虫都在爬取一个叫做斗图啦的网站,里面很多表情包,然后瞅了瞅,各种实现方式都有,今天我给你实现一个多线程版本的.关键技术点 aiohttp ...

  8. Python爬虫入门教程12:英雄联盟皮肤图片的爬取

    前言

  9. Python爬虫入门教程导航帖

    转载:梦想橡皮擦 https://blog.csdn.net/hihell/article/details/86106916 **Python爬虫入门教程导航,目标100篇** 本系列博客争取把爬虫入 ...

最新文章

  1. [原创]VS2008 英文版转为中文版之小记
  2. hdu4768 非常规的二分
  3. opencv学习笔记3:像素处理
  4. Mongodb副本集--Out of memory: Kill process 37325 (mongod)
  5. 三流面试聊JDK,二流面试聊JVM,一流面试……
  6. UIview需要知道的一些事情:setNeedsDisplay、setNeedsLayout
  7. 使用vux组件库常见报错($t)处理
  8. servlet中文乱码处理
  9. 【心情】换个皮肤试试看
  10. 用计算机装扮校园图片,第4课装扮我们的校园——在场景中运用图形元件教学设计.doc...
  11. 【React Native 安卓开发】----(mac下开发环境配置)【第一篇】
  12. 帝国cms网站URL伪静态的设置方法
  13. 软件测试-APP专项测试
  14. 【小墨mysql】mysql系列之一---索引
  15. 五种常用的绩效考核工具对比
  16. UIWebView的使用---safri
  17. MySQL- where条件 in 条件优化
  18. 开发中常用的几种 Content-Type以及图片上传前后端分离开发处理方式
  19. 谢烟客---------Linux之Aho Weinberger Kernighan
  20. 如何切换电脑当前登录账户,独家讲解在这里,怎么在WIN10系统里切换电脑当前登录账户

热门文章

  1. HTTP与HTTPS区别/HTTPS知识点
  2. myeclipse 提示为空白的问题
  3. 我的电脑点不开问题解决方法?
  4. 保湿护肤要注意的一些细节 - 生活至上,美容至尚!
  5. 活动目录系列之三:建立子域和林中第二棵域树
  6. C#线程、前后台线程
  7. PAT L2-014. 列车调度
  8. NSString字体大小计算方法
  9. java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)
  10. Java 和 .NET 获得毫秒级长整型数值的差异和解决