快讯:本课程是国家精品在线开放课程“Python网络爬虫与数据分析”的上半部分,当前为第19次开课,欢迎大家前来学习!
—— 为什么要学习网络爬虫?
—— 因为数据都在网上,先要爬下来才能挖掘淘金 ...
“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课程组成,完整地讲解了数据获取、清洗、统计、分析、可视化等数据处理周期的主要技术内容,培养计算思维、数据思维及采用程序设计方法解决计算问题的实战能力技术。
为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。
电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。
完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。
认证证书申请注意事项:
1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。
2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。
Python集成开发环境(IDE)
[1] IDLE: Python解释器默认工具
[2] Visual Studio Code: https://code.visualstudio.com/(本课程推荐)
[3] PyCharm: https://www.jetbrains.com/pycharm/
[4] Anaconda: https://www.continuum.io/ (本课程不推荐)
参考教程
[1] Python网络爬虫专题参考教程: 课程内部资料。
[2] 《Python语言程序设计基础(第3版)》,嵩天、黄天羽、杨雅婷著,高等教育出版社,2024.9(讲授Python 3版本)
参考网站
[1] Python123学习主站:https://python123.io
[2] Python Requests: https://www.python-requests.org
[3] Python Beautiful Soup: https://www.crummy.com/software/BeautifulSoup
[4] 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:作为Python小白,刚刚接触这门语言,适合学习这个课程吗?
A6:
根据以往开课经验,如果没有Python基础,即使掌握有其他编程语言,也不建议直接学习本课程,因为课程节奏较快,很可能会跟不上。建议先学习嵩老师的"Python语言程序设计"课程(https://www.icourse163.org/course/BIT-268001),至少学过前4周,就可以学习本课程了。
Q7:该课程讲解的内容能爬取JavaScript的数据吗?
A7:
Requests库不支持对JavaScript数据的解析能力,这需要浏览器内核支持;Scrapy库是一个框架,也不直接支持对JavaScript数据的解析能力。本课程现行教学大纲是v2.1版本,所讲述内容不支持JavaScript内容解析,Request库和Scrapy是网络爬虫领域必学必会的内容。