这门课解决什么问题

很多做运营、数据分析或转行程序员的上班族,日常总会遇到这样的困境:需要批量抓取竞品商品价格、汇总行业新闻,或者给数据看板准备原料,但只能靠手工复制粘贴,或者用别人写好的现成工具,一旦对方接口失效或网页改版就彻底卡壳。这门 Python 爬虫课正是用来解决“如何按自己需求稳定抓取互联网数据”这个具体场景的。它不教你用零散脚本碰运气,而是从请求原理出发,带你理解浏览器和服务器到底是怎么交互的,再过渡到工业级的 Scrapy 框架,最后落地到 Redis 分布式爬虫。学完后,你能独立完成从分析目标网站、编写抓取逻辑、应对基础反爬,到部署多机协作抓取的完整闭环。

适合什么基础与学习建议

这套资料不适合零基础。你需要已经掌握 Python 基础语法,了解字符串切片、字典和循环等操作,否则在应对请求参数封装时会非常吃力。建议你拿到资料后,先看通用爬虫模块和请求原理这两块,把 HTTP 请求格式、带请求头和代理的发送逻辑彻底跑通,不要急着上框架。等能用基础请求库独立抓取一个分页列表后,再进入 Scrapy 框架和分布式部分。学习时务必同步开一个代码编辑器,每看完一个应对反爬虫或请求发送的知识点,就立刻找几个结构简单的真实网页做抓取测试,验证自己是否真的理解了请求流程。

资料怎么配合练习

资料的组织逻辑是典型的代码驱动式教学,包含大量按天划分的实操片段。不要把它当小说看,最好的用法是当作“操作手册”。先跟着基础请求模块,把带参数的 GET 和 POST 请求在本地跑通,确保能正确保存图片和文本。接着重点练习代理和请求头的配置,这是应对基础反爬的刚需。进入 Scrapy 阶段后,建议你拿一个之前手写过的小项目,尝试用框架重写,对比两者的效率差异。最后的 Redis 分布式部分,需要你提前准备两台机器或虚拟机环境,跟着配置多节点协作,理解任务队列调度的实际运行过程。把每个实操环节都在本地复现出真实数据,才算真正把这门课消化进自己的工具箱。


本课程主要包含:python爬虫的原理,反爬虫措施,scrapy框架的使用和分布式爬虫。是python进阶课程之一。

课程目录

*   第一章 通用爬虫模块使用V3.1/

  *   爬虫基本概念/

    *   爬虫课程的介绍和概念

    *   爬虫的流程

    *   markdown介绍

    *   搜索引擎的工作原理及robots协议

    *   http和http的概念

    *   浏览器发送请求的流程

    *   URL格式和http请求格式

    *   day01-08字符换知识点的复习

  *   爬虫requests库/

    *   day01-09requests模块发送请求和获取网页的字符串

    *   day01-10requests保存图片

    *   day02-03requests模块发送带headers的请求和带参数的请求

    *   day02-04贴吧爬虫

    *   day02-05requests模块发送post请求

    *   day02-06requests模块使用代理

    *   day02-07requests模拟登陆的三种方式

  *   chrome分析post与json/

    *   day03-02寻找post的地址

    *   day03-03寻找js和分析js

    *   day03-04requests的小技巧

  *   爬虫数据-json数据处理/

    *   day03-05数据的分类

    *   day03-06json模块的学习01

    *   day03-07json模块的学习02

    *   day03-08 36kr的练习

    *   day04-02豆瓣爬虫练习

  *   爬虫数据-正则处理数据/

    *   day04-03正则和原始字符串r

    *   day04-04内涵段子爬虫

  *   爬虫数据-xpath处理数据/

    *   day04-05xml的了解

    *   day04-06xpath的学习01

    *   day04-07xpath模块的学习02

    *   day04-08lxml模块的学习

  *   通用爬虫案例/

    *   day05-02贴吧爬虫01

    *   day05-02贴吧爬虫02

    *   day05-03糗百爬虫01

    *   day05-04糗百爬虫02

    *   day05-05爬虫思路总结

    *   day05-06csv和作业

    *   day05-07多线程爬虫的实现

  *   爬取动态html数据/

    *   day06-01分析

    *   day06-02后续代码的建议和动态hemlt的介绍

    *   day06-03selenium的入门使用

  *   豆瓣登录案例/

    *   day06-04豆瓣登录

    *   day06-05打码平台的使用

    *   day06-07验证码识别总结

    *   day06-08元素定位的方法和iframe的切换和selenium使用的注意点

  *   斗鱼爬虫/

    *   day06-09driver的安装

    *   day06-10斗鱼爬虫

    *   day06-11tesseract的使用

*   第二章 爬虫scrapy框架及案例V3.1/

  *   scrapy框架介绍/

    *   day08-09scrapy的介绍

    *   day08-10scrapy的流程

    *   day08-11sacrapy的入门使用

  *   scrapy-pipline、item、shell/

    *   day09-02pipeline的介绍

    *   day09-03logging模块的使用

    *   day09-04构造请求和腾讯爬虫

    *   day09-05item的介绍和使用

    *   day09-06阳光政务平台爬虫

    *   day09-07debug信息的认识

    *   day09-08scrapy shell的使用

    *   day09-09scrapy ettings和管道的深入

  *   苏宁图书案例/

    *   day10-02苏宁图书爬虫01

    *   day10-03苏宁图书爬虫02

  *   scrapy-crawlspider/

    *   day10-04crawlspider爬虫案例

    *   day10-05crawlspdier爬虫介绍

  *   scrapy-downloadmiddleware/

    *   day10-06下载中间件的学习

    *   day10-07携带cookie登录

    *   day10-08发送post请求登录

    *   day10-0912306介绍和总结

  *   百度贴吧-crawlspider版本/

    *   day11-02贴吧爬虫和crawlspider爬虫

  *   scrapy-分布式/

    *   day11-03scrapyredis的介绍

    *   day11-04 redis复习

    *   day11-05domz程序介绍

    *   day11-06scrapy_redis的源码介绍

    *   day11-07 jd爬虫

  *   分布式爬虫案例/

    *   day12-02当当爬虫01

    *   day12-02当当爬虫02

    *   day12-03当当爬虫运行演示

    *   day12-04亚马逊爬虫

    *   day12-05亚马逊爬虫02

    *   day12-05亚马逊爬虫03

    *   day12-06pycharm发布代码

    *   day12-07crontab的使用