Python爬虫入门教程 20-100 慕课网免费课程抓取
2019-01-08 19:25
786 查看
写在前面
美好的一天又开始了,今天咱继续爬取IT在线教育类网站,
慕课网,这个平台的数据量并不是很多,所以爬取起来还是比较简单的
准备爬取
打开我们要爬取的页面,寻找分页点和查看是否是异步加载的数据。
进行了一些相应的分析,发现并没有异步数据,只需要模拟翻页就,在进行HTML的解析就可以获取数据了,
翻页数据如下,合计32页,在数据量上属于非常小的了。
https://www.imooc.com/course/list?page=1 https://www.imooc.com/course/list?page=2 .... https://www.imooc.com/course/list?page=32
编写代码
代码分为自动拼接URL,解析HTML,存储到mongodb三个部分组成
page = 1 def main(page): print(f"正在爬取{page}页数据") try: with requests.Session() as s: res = s.get("https://www.imooc.com/course/list?page={}".format(page)) d = pq(res.text) get_content(d) # 详细的函数内容在下面 except Exception as e: print(e) finally: page+=1 main(page) # 页码+1,再次调用main函数 if __name__ == '__main__': main(1)
上述代码的功能主要用于翻页,如果你想要获取到详细的数据,需要对网页源码进行解析。解析库使用的是
pyquery一款跟
jquery使用方法差不多的python库,当然相应的资料只要搜索一下,就会显示非常多的入门教程。
def get_content(d): courses = d.items(".course-card-container") for course in courses: title = course.find(".course-card-name").text() # 查找title des = course.find(".course-card-desc").text() level = course.find(".course-card-info>span:eq(0)").text() users = course.find(".course-card-info>span:eq(1)").text() labels = course.find(".course-label").text().split(" ") url = urljoin("https://www.imooc.com/learn/", course.find("a").attr("href")) # url拼接 img_url = urljoin("https://img3.mukewang.com/", course.find("img").attr("src")) # url拼接 dict = { "title":title, "des":des, "level":level, "users":users, "labels":labels, "url":url, "img_url":img_url } save_mongodb(dict) # 保存到mongodb
最后一步保存到mongodb是基本操作了,翻看一下以前的教程就可以了,自行完成吧。
又一个在线教育平台被我们爬了... ...
相关文章推荐
- Python爬虫入门教程 19-100 51CTO学院IT技术课程抓取
- Python爬虫入门教程 21-100 网易云课堂课程数据抓取
- Python爬虫入门教程 18-100 煎蛋网XXOO图片抓取
- Python爬虫入门教程 17-100 博客抓取数据
- Python爬虫入门教程 16-100 500px摄影师社区抓取摄影师数据
- Python爬虫入门教程 15-100 石家庄政民互动数据爬取
- Python爬虫入门教程 4-100 美空网未登录图片爬取
- Python爬虫入门教程 5-100 27270图片爬取
- Python爬虫入门教程 8-100 蜂鸟网图片爬取之三
- Python爬虫入门教程 11-100 行行网电子书多线程爬取
- Python爬虫入门教程 13-100 斗图啦表情包多线程爬取
- Python爬虫入门教程 10-100 图虫网多线程爬取!
- Python爬虫入门教程 1-100 CentOS环境安装
- Python爬虫入门教程 2-100 妹子图网站爬取
- Python爬虫入门教程 9-100 河北阳光理政投诉板块
- Python爬虫入门教程 3-100 美空网数据爬取
- Python爬虫入门教程 7-100 蜂鸟网图片爬取之二
- Python爬虫入门教程 6-100 蜂鸟网图片爬取之一
- Python爬虫入门教程 12-100 半次元COS图爬取
- Python爬虫入门教程 10-100 图虫网多线程爬取