写点什么

豆瓣评分 9.0!Python3 网络爬虫开发实战,堪称教学典范!

  • 2024-08-21
    湖南
  • 本文字数:2166 字

    阅读完需:约 7 分钟

今天我们所处的时代是信息化时代,是数据驱动的人工智能时代。在人工智能、物联网时代,万物互联和物理世界的全面数字化使得人工智能可以基于这些数据产生优质的决策,从而对人类的生产生活产生巨大价值。


在这个以数据驱动为特征的时代,数据是最基础的。数据既可以通过研发产品获得,也可以通过爬虫采集公开数据获得,因此爬虫技术在这个快速发展的时代就显得尤为重要,高端爬虫人才的收人也在逐年提高。


今天给小伙伴们分享的这份手册是 Python 之父 Guido van Rossum 推荐的爬虫入门书,主要介绍了如何利用 Python 3 开发网络爬虫(文末有最新版的爬虫案例整理)。

限于文章篇幅原因,只能以截图的形式展示出来,有需要的小伙伴 点击这里凭本文截图即可获取!

第 1 章 爬虫基础

第 1 章介绍了学习爬虫之前需要了解的基础知识,如 HTTP、爬虫、代理、网页结构、多进程、多线程等内容。对爬虫没有任何了解的读者,建议好好了解这一章的知识。

第 2 章 基本库的使用

第 2 章介绍了最基本的爬出操作,爬虫通常是从这一步学起的。这一章介绍了最基本的请求库(urllib、requests、httpx)和正则表达式的基本用法。学完这一章,就可以掌握最基本的爬虫技术了。

第 3 章 网页数据的解析提取

第 3 章介绍了网页解析库的基本用法,包括 Beautiful Soup、XPath、pyquery、parsel 的基本使用方法,这些库可以使信息的提取更加方便、快捷,是爬虫必备的利器。

第 4 章 数据的存储

第 4 章介绍了数据存储的常见形式及存储操作,包括 TXT 文件、JSON 文件、CSV 文件的存储以及关系型数据库 MySQL 和非关系型数据库 MongoDB,Redis 的基本存储操作,另外还介绍了 Elasticsearch 搜索引擎存储、RabbitMQ 消息队列的用法。学完这一章,就可以灵活、方便地保存爬取下来的数据。

第 5 章 Ajax 数据爬取

第 5 章介绍了 Ajax 数据爬取的过程。一些网页数据可能是通过 Ajax 请求 API 接口的方式加载的用常规方法无法爬取,这一章介绍了 Ajax 分析和爬取实战案例。

第 6 章 异步爬虫

第 6 章介绍了异步爬虫的相关知识,如支持更高并发的协程的基本原理、aiohttp 库的使用和实战案例。有了异步爬虫,爬虫的爬取效率将会大大提高。

第 7 章 JavaScript 动态浪染页面爬取

第 7 章介绍了爬取动态渲染页面的相关内容。现在越来越多的网站内容是由 JavaScript 渲染得到的原始 HTML 文本可能不包含任何有效内容,同时渲染过程会涉及某些 JavaScript 加密算法,对此可以使用 Selenium、Splash、Pyppetcer,Playwright 等工具模拟浏览器来进行数据爬取。

第 8 章 验证码的识别

第 8 章介绍了验证码的相关处理方法。验证码是网站反爬虫的重要措施,我们可以通过这一章了解各类验证码的应对方案,包括图形验证码,滑动验证码、点选验证码、手机验证码,其中会涉及 OCR、OpenCV、深度学习、打码平台的相关知识。

第 9 章 代理的使用

第 9 章介绍了代理的使用方法。限制 IP 的访问也是网站反爬虫的重要措施,使用代理可以有效解决这个问题,我们可以使用代理来伪装爬虫的真实 IP。通过这一章,我们能学习代理的使用方法,代理池的维护方法,以及 ADSL 拨号代理的使用方法。

第 10 章 模拟登录

第 10 章介绍了模拟登录爬取的方法。某些网站需要录才可以看到需要的内容,这时就需要用爬虫模拟登录网站再进行爬取了。这一章介绍了最基本的模拟登录方法,包括基于 Session+Cookie 的模拟登录和基于 JWT 的模拟登录。

第 11 章 JavaScript 逆向爬虫

第 11 章介绍了 JavaScript 逆向的相关知识,包括网站的混淆技术、JavaScript 逆向常用的调试和 Hook 技术、JavaScript 模拟执行的各个方案,接着介绍了 AST 技术来还原 JavaScript 混淆代码,另外也对 WebAssembly 技术进行了基本介绍。

第 12 章 APP 数据的爬取

第 12 章介绍了 App 的爬取方法,包括基本的抓包软件(Charles、mitmproxy)如何使用,然后介绍了利用 mitmdump 对接 Python 脚本的方法进行实时抓取,以及使用 Appium、Airtest 模拟手机 App 的操作进行数据爬取。

第 13 章 Android 逆向

第 13 章介绍了 Android 逆向的相关知识,包括反编译工具 jadx、JEB 和常用的 Hook 框架 Xposed、Frida 等工具的使用方法,另外还介绍了 SSL Pining、脱壳、反汇编、so 文件模拟执行等技术。

第 14 章 页面智能解析

第 14 章介绍了页面智能解析相关的技术,比如新闻详情页面中标题、正文、作者等信息以及新闻列表页面中标题、链接等信息的智能提取,另外还介绍了如何智能分辨详情页和列表页。有了页面智能解析技术,在提取很多内容时就可以免去写规则的困扰。

第 15 章 Scrapy 框架的使用

第 15 章介绍了 Scrapy 爬虫框架及用法。Scrapy 是目前使用最广泛的爬虫框架,这章介绍了它的基本架构、原理及各个组件的使用方法,另外还介绍了 Scrapy 对接 Selenium、Pyppeteer 等的方法。

第 16 章 分布式爬虫

第 16 章介绍了分布式爬虫的基本原理及实现方法。为了提高爬取效率,分布式爬虫是必不可少的,这章介绍了使用 Scrapy-Redis、RabbitMQ 实现分布式爬虫的方法。

第 17 章 爬虫的管理和部署

第 17 章介绍了分布式爬虫的部署及管理方法。方便、快速地完成爬虫的分布式部署,可以节省开发者大量的时间。这一章介绍了两种管理方案,一种是基于 Scrapy、Scrapyd、Gerapy 的方案,另一种是基于 Kubernetes、Docker、Prometheus、Grafana 的方案。

最后再给小伙伴们分享一个最新版的爬虫案例平台(https://scrape.center/,书中提到的案例可以在该平台看到最新版的哦~


限于文章篇幅原因,就展示到这里了 ,有需要的小伙伴 点击这里凭本文截图即可获取!

用户头像

欢迎关注,一起学习,一起交流,一起进步 2020-06-14 加入

公众号:做梦都在改BUG

评论

发布
暂无评论
豆瓣评分9.0!Python3网络爬虫开发实战,堪称教学典范!_Python_我再BUG界嘎嘎乱杀_InfoQ写作社区