Python开发简单爬虫

课程简介:

爬虫技术用来从互联网上自动获取需要的数据。课程从对爬虫的介绍出发,引入一个简单爬虫的技术架构,然后通过是什么、怎么做、现场演示三步骤,解释爬虫技术架构中的三个模块。最后,一套优雅精美的爬虫代码实战编写,向大家演示了实战抓取百度百科1000个页面的数据全过程

[code]官方课程链接:https://www.imooc.com/learn/563[/code]

课程目录:

第1章 课程介绍
本章对课程要学习的内容进行概览,明确告诉大家将从课程中学到开发一个爬虫所需的相关技术。
1-1 Python开发简单爬虫课程介绍

第2章 爬虫简介以及爬虫的技术价值
本章介绍了爬虫技术的含义,以及爬虫这门技术存在的价值和意义
2-1 爬虫是什么
2-2 爬虫技术的价值

第3章 简单爬虫架构
本章介绍了精心提炼的一个简洁爬虫技术架构,通过动态图介绍了技术架构实现爬虫任务的流程,使大家对爬虫的整体组成和运行流程有整体的把握。
3-1 Python简单爬虫架构
3-2 Python简单爬虫架构的动态运行流程

第4章 URL管理器和实现方法
本章介绍了简单爬虫架构的URL管理器模块,用于管理待爬取的URL集合和已爬取的URL集合,也介绍了实现URL管理器的几种方法
4-1 Python爬虫URL管理
4-2 Python爬虫URL管理器的实现方式

第5章 网页下载器和urllib2模块
本章介绍了简单爬虫架构的网页下载器模块,将网页下载下来然后才能进行后续的数据提取,本章然后介绍了Python自带的urllib2模块的各种使用语法用于网页的下载
5-1 Python爬虫网页下载器简介
5-2 Python爬虫urlib2下载器网页的三种方法
5-3 Python爬虫urlib2实例代码演示

第6章 网页解析器和BeautifulSoup第三方模块
本章介绍了简单爬虫架构的网页解析器模块,解析器用于从网页中提取价值数据和新的待爬取URL,本章然后介绍了BeautifulSoup这个强大的第三方模块用于数据的解析和提取
6-1 Python爬虫网页解析器简介
6-2 BeautifulSoup模块介绍和安装
6-3 BeautifulSoup的语法
6-4 BeautifulSoup实例测试

第7章 实战演练:爬取百度百科1000个页面的数据
本章是课程的核心部分,通过一套精心设计并编写的爬虫代码,实现了课程前面讲述的简单爬虫架构中各个组成部分,爬虫代码最终完成了百度百科1000个页面的数据爬取并进行了数据展示,本代码经过配置修改后,可以用来爬取任何网站数据。
7-1 Python爬虫实例-分析目标
7-2 调度程序
7-3 URL管理器
7-4 HTML下载器html_downloader
7-5 HTML解析器html_parser
7-6 HTML输出器
7-7 开始运行爬虫和爬取结果展示

第8章 课程总结
本章回顾了课程讲过的知识,对爬虫的技术架构有一个整体的回顾和把握,另外也对爬虫技术的深入发展将会遇到的困难进行了简单展望
8-1 课程总结

课程截图:

Python分布式爬虫打造搜索引擎

课程简介:

聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎
未来是什么时代?是数据时代!数据分析服务、互联网金融,数据建模、自然语言处理、医疗病例分析……越来越多的工作会基于数据来做,而爬虫正是快速获取数据最重要的方式,相比其它语言,Python爬虫更简单、高效

从0讲解爬虫基本原理,对爬虫中所需要用到的知识点进行梳理,从搭建开发环境、设计数据库开始,通过爬取三个知名网站的真实数据,带你由浅入深的掌握Scrapy原理、各模块使用、组件开发,Scrapy的进阶开发以及反爬虫的策略

彻底掌握Scrapy之后,带你基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站

[code]课程来源链接:http://coding.imooc.com/class/92.html[/code]

课程目录:

第1章 课程介绍
介绍课程目标、通过课程能学习到的内容、和系统开发前需要具备的知识
1-1 python分布式爬虫打造搜索引擎简介

第2章 windows下搭建开发环境
介绍项目开发需要安装的开发软件、 python虚拟virtualenv和 virtualenvwrapper的安装和使用、 最后介绍pycharm和navicat的简单使用
2-1 pycharm的安装和简单使用
2-2 mysql和navicat的安装和使用
2-3 windows和linux下安装python2和python3
2-4 虚拟环境的安装和配置

第3章 爬虫基础知识回顾
介绍爬虫开发中需要用到的基础知识包括爬虫能做什么,正则表达式,深度优先和广度优先的算法及实现、爬虫url去重的策略、彻底弄清楚unicode和utf8mb4编码的区别和应用。
3-1 技术选型 爬虫能做什么
3-2 正则表达式-1
3-3 正则表达式-2
3-4 正则表达式-3
3-5 深度优先和广度优先原理
3-6 url去重方法
3-7 彻底搞清楚unicode和utf8mb4编码

第4章 scrapy爬取知名技术文章网站
搭建scrapy的开发环境,本章介绍scrapy的常用命令以及工程目录结构分析,本章中也会详细的讲解xpath和css选择器的使用。然后通过scrapy提供的spider完成所有文章的爬取。然后详细讲解item以及item loader方式完成具体字段的提取后使用scrapy提供的pipeline分别将数据保存到json文件以及mysql数据库中。…
4-1 scrapy安装以及目录结构介绍
4-2 pycharm 调试scrapy 执行流程
4-3 xpath的用法 – 1
4-4 xpath的用法 – 2
4-5 xpath的用法 – 3
4-6 css选择器实现字段解析 – 1
4-7 css选择器实现字段解析 – 2
4-8 编写spider爬取jobbole的所有文章 – 1
4-9 编写spider爬取jobbole的所有文章 – 2
4-10 items设计 – 1
4-11 items设计 – 2
4-12 items设计 – 3
4-13 数据表设计和保存item到json文件
4-14 通过pipeline保存数据到mysql – 1
4-15 通过pipeline保存数据到mysql – 2
4-16 scrapy item loader机制 – 1
4-17 scrapy item loader机制- 2

第5章 scrapy爬取知名问答网站
本章主要完成网站的问题和回答的提取。本章除了分析出问答网站的网络请求以外还会分别通过requests和scrapy的FormRequest两种方式完成网站的模拟登录, 本章详细的分析了网站的网络请求并分别分析出了网站问题回答的api请求接口并将数据提取出来后保存到mysql中。…
5-1 session和cookie自动登录机制
5-2 (补充)selenium模拟知乎登录-2017-12-29
5-3 requests模拟登陆知乎 – 1
5-4 requests模拟登陆知乎 – 2
5-5 requests模拟登陆知乎 – 3
5-6 scrapy模拟知乎登录
5-7 知乎分析以及数据表设计1
5-8 知乎分析以及数据表设计 – 2
5-9 item loder方式提取question – 1
5-10 item loder方式提取question – 2
5-11 item loder方式提取question – 3
5-12 知乎spider爬虫逻辑的实现以及answer的提取 – 1
5-13 知乎spider爬虫逻辑的实现以及answer的提取 – 2
5-14 保存数据到mysql中 -1
5-15 保存数据到mysql中 -2
5-16 保存数据到mysql中 -3
5-17 (补充小节)知乎验证码登录 – 1_1
5-18 (补充小节)知乎验证码登录 – 2_1
5-19 (补充)知乎倒立文字识别-1
5-20 (补充)知乎倒立文字识别-2

第6章 通过CrawlSpider对招聘网站进行整站爬取
本章完成招聘网站职位的数据表结构设计,并通过link extractor和rule的形式并配置CrawlSpider完成招聘网站所有职位的爬取,本章也会从源码的角度来分析CrawlSpider让大家对CrawlSpider有深入的理解。
6-1 数据表结构设计
6-2 CrawlSpider源码分析-新建CrawlSpider与settings配置
6-3 CrawlSpider源码分析
6-4 Rule和LinkExtractor使用
6-5 item loader方式解析职位
6-6 职位数据入库-1
6-7 职位信息入库-2

第7章 Scrapy突破反爬虫的限制
本章会从爬虫和反爬虫的斗争过程开始讲解,然后讲解scrapy的原理,然后通过随机切换user-agent和设置scrapy的ip代理的方式完成突破反爬虫的各种限制。本章也会详细介绍httpresponse和httprequest来详细的分析scrapy的功能,最后会通过云打码平台来完成在线验证码识别以及禁用cookie和访问频率来降低爬虫被屏蔽的可能性。…
7-1 爬虫和反爬的对抗过程以及策略
7-2 scrapy架构源码分析
7-3 Requests和Response介绍
7-4 通过downloadmiddleware随机更换user-agent-1
7-5 通过downloadmiddleware随机更换user-agent – 2
7-6 scrapy实现ip代理池 – 1
7-7 scrapy实现ip代理池 – 2
7-8 scrapy实现ip代理池 – 3
7-9 云打码实现验证码识别
7-10 cookie禁用、自动限速、自定义spider的settings

第8章 scrapy进阶开发
本章将讲解scrapy的更多高级特性,这些高级特性包括通过selenium和phantomjs实现动态网站数据的爬取以及将这二者集成到scrapy中、scrapy信号、自定义中间件、暂停和启动scrapy爬虫、scrapy的核心api、scrapy的telnet、scrapy的web service和scrapy的log配置和email发送等。 这些特性使得我们不仅只是可以通过scrapy来完成…
8-1 selenium动态网页请求与模拟登录知乎
8-2 selenium模拟登录微博, 模拟鼠标下拉
8-3 chromedriver不加载图片、phantomjs获取动态网页
8-4 selenium集成到scrapy中
8-5 其余动态网页获取技术介绍-chrome无界面运行、scrapy-splash、selenium-grid, splinter
8-6 scrapy的暂停与重启
8-7 scrapy url去重原理
8-8 scrapy telnet服务
8-9 spider middleware 详解
8-10 scrapy的数据收集
8-11 scrapy信号详解
8-12 scrapy扩展开发

第9章 scrapy-redis分布式爬虫
Scrapy-redis分布式爬虫的使用以及scrapy-redis的分布式爬虫的源码分析, 让大家可以根据自己的需求来修改源码以满足自己的需求。最后也会讲解如何将bloomfilter集成到scrapy-redis中。
9-1 分布式爬虫要点
9-2 redis基础知识 – 1
9-3 redis基础知识 – 2
9-4 scrapy-redis编写分布式爬虫代码
9-5 scrapy源码解析-connection.py、defaults.py-
9-6 scrapy-redis源码剖析-dupefilter.py-
9-7 scrapy-redis源码剖析- pipelines.py、 queue.py-
9-8 scrapy-redis源码分析- scheduler.py、spider.py-
9-9 集成bloomfilter到scrapy-redis中

第10章 elasticsearch搜索引擎的使用
本章将讲解elasticsearch的安装和使用,将讲解elasticsearch的基本概念的介绍以及api的使用。本章也会讲解搜索引擎的原理并讲解elasticsearch-dsl的使用,最后讲解如何通过scrapy的pipeline将数据保存到elasticsearch中。
10-1 elasticsearch介绍
10-2 elasticsearch安装
10-3 elasticsearch-head插件以及kibana的安装
10-4 elasticsearch的基本概念
10-5 倒排索引
10-6 elasticsearch 基本的索引和文档CRUD操作
10-7 elasticsearch的mget和bulk批量操作
10-8 elasticsearch的mapping映射管理
10-9 elasticsearch的简单查询 – 1
10-10 elasticsearch的简单查询 – 2
10-11 elasticsearch的bool组合查询
10-12 scrapy写入数据到elasticsearch中 – 1
10-13 scrapy写入数据到elasticsearch中 – 2

第11章 django搭建搜索网站
本章讲解如何通过django快速搭建搜索网站, 本章也会讲解如何完成django与elasticsearch的搜索查询交互。
11-1 es完成搜索建议-搜索建议字段保存 – 1
11-2 es完成搜索建议-搜索建议字段保存 – 2
11-3 django实现elasticsearch的搜索建议 – 1
11-4 django实现elasticsearch的搜索建议 – 2
11-5 django实现elasticsearch的搜索功能 -1
11-6 django实现elasticsearch的搜索功能 -2
11-7 django实现搜索结果分页
11-8 搜索记录、热门搜索功能实现 – 1
11-9 搜索记录、热门搜索功能实现 – 2

第12章 scrapyd部署scrapy爬虫
本章主要通过scrapyd完成对scrapy爬虫的线上部署。
12-1 scrapyd部署scrapy项目

第13章 课程总结
重新梳理一遍系统开发的整个过程, 让同学对系统和开发过程有一个更加直观的理解
13-1 课程总结

课程截图:


感谢来自@cdsf 的投稿!

牛客网中高级项目课程 C++,Java,Python基础编程语言入门到精通视频教程

课程简介:

手把手,带你实践真正的编程。只需6周,实现项目经验零突破。

手把手教你实现“图片社交+电商导购+漂流瓶”的实战项目。

手把手教你实现今日头条的实战项目。

手把手教你实现知乎的实战项目。

此课程由牛客网发布,猴头客收集整理于网络,如有侵权请联系猴头客删除。

课程官方链接:https://www.nowcoder.com/courses

课程目录:

牛客初级项目课:

第一节开发工具和Python语言介绍
主要介绍这个项目需要用到的开发工具,并会帮助简单回顾这个项目所用到的语言-python。

第二节flask框架入门,模板以及flask-script使用
主要介绍flask框架和模板,包括装饰器,Flask安装等,以及flask-script使用。

第三节数据库交互以及flask-sqlalchemy扩展使用
主要进行项目结构搭建,数据库的交互,基本功能和首页的开发。

第四节用户注册登录管理以及flask-login扩展的使用
主要实现注册,登录,浏览,Flask-Login,数据安全性以及个人页AJAX实现。

第五节本地图片上传,flask-uploads扩展以及七牛云存储sdk使用
主要实现本地图片的上传,七牛SDK上传图片以及评论功能。

第六节flask项目测试和部署,课程总结回顾
主要进行项目的测试,部署,并对项目进行总结,扩展以及面试中如何给面试官更好的讲这个项目。

牛客中级项目课:

第1节开发工具和Java语言介绍
主要介绍项目所需要的开发工具,并且会简单回顾这个项目所用到的语言-java,语法基础,控制流,数据结构,面向对象,异常,随机数等。

第2节Spring入门和模板语法
主要结合Spring进行入门介绍,包括参数解析,HTTP Method,AOP等等。

第3节数据库交互myBatis集成
主要对业务的字段进行设计,数据库的创建,数据库的交互等,并会介绍注解和XML定义以及首页的开发。

第4节用户注册登录管理
主要对业务的字段进行设计,数据库的创建,数据库的交互等,并会介绍注解和XML定义以及首页的开发。 主要实现注册,登录,浏览等基本功能,并且会考虑到数据安全性等。

第5节资讯发布,图片上传,资讯首页
主要实现资讯的发布,图片的上传,完成资讯首页的搭建。

第6节评论中心,站内信
主要搭建资讯详情页,实现评论,站内信等功能。

第7节redis入门以及redis实现赞踩功能
主要讲解Redis,带你入门以及redis实现赞踩功能。

牛客高级项目课:

第1节开发工具和Java语言介绍
主要讲述这个项目所用到的开发工具和语言-java的回顾。

第2节Spring入门,模板语法和渲染
进行Spring语言的介绍和讲解,模板语法和渲染。

第3节数据库交互myBatis集成
主要是进行数据库的创建以及交互,讲解注释和XML定义并进行首页的开发。

第4节用户注册登录管理
主要实现用户的注册,登录,浏览等功能,并考虑数据的安全性。

第5节问题发布,敏感词和js标签过滤,多线程
主要实现问题发布,进行敏感词的过滤,问题广场的实现等主功能。

第6节评论中心,站内信
主要搭建评论中心,并且实现站内信等功能。

第7节redis入门以及redis实现赞踩功能
主要进行Redis的介绍并且实现赞踩功能。

课程截图:

 

0基础Python爬虫:四周实现爬虫实战

课程简介:

适用人群

零基础初学者,多次从入门到放弃的小白

课程概述

只有动手做点东西出来,才能真正学会编程。

参加这门专为小白准备的 Python 爬虫实战课程,你将得到:

◎ 学到如何从网上批量获得几万数据,如何处理大量数据,数据可视化及网站制作。

◎ 加入学员专属群,有专业程序员作为导师为你答疑辅导。

◎ 掌握课程中的编程学习方法:理解-模仿-实践,在未来有能力更高效的自学。

课程目录:

章节1 第零周:开始之前

— 课时1 课程介绍:你能在四周获得什么?

— 课时2 开始之前的准备

— 课时3 魔力手册for实战学员预习

— 课时4 fukuan后第一件事:选择班级

— 课时5 获胜小组的奖励

章节2 第一周:学会爬取网页信息

— 课时06 第一周课前准备

— 课时07 第一节课程:认识网页的构成

— 课时08 第一节练习项目:动手做自己的网页

— 课时09 第二节课程:解析网页中的元素

— 课时10 第二节练习项目:爬取商品信息

— 课时11 第三节课程:真实世界中的网页解析

— 课时12 第三节练习项目:爬取租房信息

— 课时13 第四节课程:如何获取网页中的动态数据

— 课时14 第四节练习项目:爬取霉霉图片

— 课时15 第一周实战作业:爬取一页商品数据

— 课时16 第一周实战作业讲解

— 课时17 第一周补充资料

章节3 第二周:学会爬取大规模数据

— 课时18 第二周课前准备

— 课时19 第一节课程:开始使用数据库 MongoDB

— 课时20 第一节练习项目:在 MongoDB 中筛选房源

— 课时21 第二节课程:爬取大规模数据的工作流分析

— 课时22 第二节练习项目:爬取手机号

— 课时23 第三节课程:多进程爬虫的数据抓取

— 课时24 第三节练习项目:设计断点续传程序

— 课时25 第二周实战作业:爬取10万商品数据

— 课时26 第二周实战作业讲解

— 课时27 第二周补充资料

章节4 第三周:数据统计与分析

— 课时28 第三周课前准备

— 课时29 第一节课程:如何让数据说话

— 课时30 第一节练习项目:哪种微测试信文章最受欢迎

— 课时31 第二节课程:开始做简单的数据图表

— 课时32 第二节练习项目:绘制各类目对比柱状图

— 课时33 第三节课程:使用 find 函数精确查找数据

— 课时34 第三节练习项目:绘制发测试帖量折线图

— 课时35 第四节课程:使用聚合管道高效查找数据

— 课时36 第四节练习项目:绘制热测试销商测试品的分布饼图

— 课时37 第三周实战作业:分析二测试手商测试品行情

— 课时38 第三周实战作业讲解

— 课时39 第三周补充资料

章节5 第四周:搭建 Django 数据可视化网站

— 课时40 第四周课前准备

— 课时41 第一节课程:用 Django 搭建简单网页

— 课时42 第一节练习项目:搭建个人博客

— 课时43 第二节课程:熟悉 Django 的模板语言

— 课时44 第二节练习项目:给博客增加分页功能

— 课时45 第三节课程:开始使用 Semantic 框架

— 课时46 第三节练习项目:使用 Semantic 框架做一个 Pinterest网站

— 课时47 第四节课程:用 Django 做图表

— 课时48 第五节课程:Django 的模板继承

— 课时49 第四周实战作业:实现二手行情网站

— 课时50 第四周实战作业讲解

— 课时51 第四周补充资料

章节6 四周之后……

— 课时52 推荐10本编程书

另附:课程配套资料(课程所有源码和作业参考答案都在 课程资料 文件夹)

课程截图: