本课程为学科大类必修课程。
—— 为什么实践课里首先要学习网络爬虫?
—— 因为数据都在网上,先要爬下来才能挖掘淘金 ...
![]()
“The website is the API.” (网页即接口)网络爬虫是获取数据的必备本领,不要犹豫!
在具有Python编程基础后,你是否想了解Python语言爬取网络数据并提取关键信息的技术和方法,想掌握定向网络数据爬取和网页解析的基本能力?
本课程介绍Python计算生态中最优秀的网络数据爬取和解析技术,具体讲授构建网络爬虫功能的两条重要技术路线:requests-bs4-re和Scrapy,所讲述内容广泛应用于Amazon、Google、PayPal、Twitter等国际知名公司。课程内容是进入大数据处理、数据挖掘、以数据为中心人工智能领域的必备实践基础。
本课程教学内容包括:
· Python第三方库Requests,讲解通过HTTP/HTTPS协议自动从互联网获取数据并向其提交请求的方法;
· Python第三方库Beautiful Soup,讲解从所爬取HTML页面中解析完整Web信息的方法;
· Python标准库Re,讲解从所爬取HTML页面中提取关键信息的方法;
· Python第三方库Scrapy,介绍通过网络爬虫框架构造专业网络爬虫的基本方法。
本课程希望传递“理解和运用计算生态”的理念,重点培养学习者运用当代最优秀第三方专业资源,快速分析和解决问题的能力。"人生苦短,不要刀耕火种“,我们要学会直面问题和需求,用最好的工具解决它!
本课程为考查课。考核方式分为过程性考核和终结性考核,其中过程性考核构成平时成绩,占总评成绩的70%,终结性考核形成期末成绩,占总评成绩的30%。
过程性考核包括出勤、网络爬虫的编写和网络数据的获取、网络数据的清洗和加工、数据的分析,在平时成绩中的占比分别为10%、40%、25%、25%。
本课程在Python程序设计课程后开设,需要学习者具备Python语言编程的基本知识和初步技能。
相关问题解决方案集锦
pip安装速度慢的问题解决方案
Windows系统中pip无法安装第三方库的解决方案
网络爬虫之前奏
“网络爬虫”课程内容导学
Python语言开发工具选择
网络爬虫之规则
本周课程导学
单元1:Requests库入门
单元2:网络爬虫的“盗亦有道”
单元3:Requests库网络爬虫实战(5个实例)
网络爬虫之提取
本周课程导学
单元4:Beautiful Soup库入门
单元5:信息组织与提取方法
单元6:实例1:中国大学排名爬虫
网络爬虫之实战
本周课程导学
单元7:Re(正则表达式)库入门
单元8:实例2:淘宝商品比价定向爬虫
单元9:实例3:股票数据定向爬虫
网络爬虫之框架
本周课程导学
单元10:Scrapy爬虫框架
单元11:Scrapy爬虫基本使用
单元12:实例4:股票数据Scrapy爬虫
数据分析之numpy库入门
Numpy基础入门
Numpy库入门练习
Numpy基础入门课件
数据分析之pandas库入门
Pandas案例
pandas的创建和基本操作
pandas数据分析作业
pandas数据分析作业补交处
Python数据分析实践综合作业
Python等级考试模拟题练习
组合数据类型
Python等级考试大纲
Python集成开发环境(IDE)
[1] IDLE: Python解释器默认工具
[2] PyCharm: https://www.jetbrains.com/pycharm/
[3] Anaconda: https://www.continuum.io/ (本课程推荐)
参考教程
(一)选用教材
[1]《Python语言程序设计基础》,嵩天等主编,高等教育出版社,2019年出版。
(二)参考资料
[1] 中国大学MOOC平台,《Python网络爬虫与信息提取》课程,北京理工大学嵩天主讲。
[2] 中国大学MOOC平台,《Python数据分析与展示》课程,北京理工大学嵩天主讲。
[3]《Python核心编程》(第3版),[美]卫斯理 春 著,孙波翔、李斌、李晗 译,人民邮电出版社,2016年出版。
[4]《Python学习手册》,[美]马克·卢茨 著,秦鹤、林明 译,机械工业出版社,2018年出版。
参考网站
[1] Python主站:https://www.python.org
[2] Python123学习主站:https://python123.io
[3] Python Requests: https://www.python-requests.org
[4] Python Beautiful Soup: https://www.crummy.com/software/BeautifulSoup
[5] Python Scrapy: https://scrapy.org/
Q1:除了Python,这个课程需要其他编程语言基础吗?
A1:
不需要,只要具备基本的Python编程能力,就可以学习本课程。
Q2:Python 2.x和Python 3.x,这个课程采用哪个版本?
A2:
Python 3.6 及以上,这是Python语言的现在和未来,嵩老师所有Python课程都采用Python 3.x系列版本。
Q3:在线开放课程只能看到视频,有问题谁来解答?
A3:
编程能力是一技之长,学习过程中遇到问题很正常,为了更好地为同学们服务,本课程将由老师和一名助教在线上答疑,同时,其他学习者也会帮助回答问题。
Q4:非计算机专业学生要不要学网络爬虫呢?老师有何建议。
A4:
信息满天下的时代,不会点儿爬虫技术都不好意思和别人打招呼,果断选课吧,先听听看,万一学得会了呢。
Q5:这个课程需要使用配套教材或工具书吗?
A5:
本课程将提供视频、文本资料和程序代码等作为学习资料,同学们可以选择使用或不使用教材或工具书。由于Python网络爬虫方面相关知识内容还在逐步演进,建议先使用课程提供的资料进行学习。
Q6:该课程讲解的内容能爬取JavaScript的数据吗?
A6:
Requests库不支持对JavaScript数据的解析能力,这需要浏览器内核支持;Scrapy库是一个框架,也不直接支持对JavaScript数据的解析能力。本课程现行教学大纲是v2.1版本,所讲述内容不支持JavaScript内容解析,Request库和Scrapy是网络爬虫领域必学必会的内容。