课程概况
“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,介绍通过网络爬虫框架构造专业网络爬虫的基本方法。
本课程希望传递“理解和运用计算生态”的理念,重点培养学习者运用当代最优秀第三方专业资源,快速分析和解决问题的能力。”人生苦短,不要刀耕火种“,嵩老师教你直面问题和需求,用最好的工具解决它!
本课程是“Python网络爬虫与数据分析”课程的上半部分。“Python网络爬虫与数据分析”课程由“Python网络爬虫与信息提取”和“Python数据分析与展示”两门MOOC课程组成,完整地讲解了数据获取、清洗、统计、分析、可视化等数据处理周期的主要技术内容,培养计算思维、数据思维及采用程序设计方法解决计算问题的实战能力技术。
课程大纲
【第〇周】网络爬虫之前奏
“网络爬虫”课程内容导学
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爬虫
预备知识
本课程需要学习者具备Python语言编程的基本知识和初步技能,建议Python零基础学习者先修嵩老师的“Python语言程序设计”课程(至少完成前四周学习)。
证书或学分
采取百分制,客观题和主观编程题各占50分。60分-79分可获得合格证书,80分以上可获得优秀证书。测验不难,只要认真学习都能够取得好的成绩。
参考资料
Python集成开发环境(IDE)
[1] IDLE: Python解释器默认工具(推荐)
[2] Anaconda: https://www.continuum.io/
[3] PyCharm: http://www.jetbrains.com/pycharm/
参考教程
[1] Python零基础入门教程:《Python语言程序设计基础(第2版)》,嵩天、礼欣、黄天羽著,高等教育出版社,2016.12
[2] 专题参考教程: 课内资料。
参考网站
[1] Python Requests: http://www.python-requests.org
[2] Python Beautiful Soup: https://www.crummy.com/software/BeautifulSoup
[3] Python Scrapy: http://scrapy.org/
常见问题
Q1:除了Python,这个课程需要其他编程语言基础吗?
A1:不需要,只要具备基本的Python编程能力,就可以学习本课程。
Q2:Python 2.x和Python 3.x,这个课程采用哪个版本?
A2:Python 3.x已经足够成熟,这是Python语言的现在和未来,嵩老师所有Python课程都采用Python 3.x系列版本。
Q3:在线开放课程看不到老师,有问题谁来解答?
A3:为了更好服务同学们,本课程教师和多名助教会每天在线答疑,尽快解决与课程相关的各类问题。
Q4:课程里面除了视频、文档和练习,还有什么新的形式吗?
A4:大学老师都是一本正经的,但你见过大学老师闲扯吗?课间,嵩老师想说说不一样的话...