Python 3网络爬虫开发实战pdf

图书网 2021年6月14日21:10:4131.5K
摘要

全面介绍了数据采集、数据存储、动态网站爬取、App爬取、验证码破解、模拟登录、代理使用、爬虫框架、分布式爬取等知识
涉及的库或工具:urllib、requests、Beautiful Soup、XPath、pyquery、redis-py、PyMongo、PyMySQL、Selenium、Splash、Charles、mitmproxy、mitmdump、Appium、pyspider、Scrapy、Scrapy-Redis、Scrapy-Splash、Docker、Bloom Filter、Gerapy等

Python 3网络爬虫开发实战 作者:崔庆才

Python 3网络爬虫开发实战 出版社:人民邮电出版社

Python 3网络爬虫开发实战 内容简介

本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib、requests、正则表达式、Beautiful Soup、XPath、pyquery、数据存储、Ajax数据爬取等内容,接着通过多个案例介绍了不同场景下如何实现数据爬取,最后介绍了pyspider框架、Scrapy框架和分布式爬虫。

本书适合Python程序员阅读。

Python 3网络爬虫开发实战 目录

第1章 开发环境配置  1

1.1 Python 3的安装  1

1.1.1 Windows下的安装  1

1.1.2 Linux下的安装  6

1.1.3 Mac下的安装  8

1.2 请求库的安装  10

1.2.1 requests的安装  10

1.2.2 Selenium的安装  11

1.2.3 ChromeDriver的安装  12

1.2.4 GeckoDriver的安装  15

1.2.5 PhantomJS的安装  17

1.2.6 aiohttp的安装  18

1.3 解析库的安装  19

1.3.1 lxml的安装  19

1.3.2 Beautiful Soup的安装  21

1.3.3 pyquery的安装  22

1.3.4 tesserocr的安装  22

1.4 数据库的安装  26

1.4.1 MySQL的安装  27

1.4.2 MongoDB的安装  29

1.4.3 Redis的安装  36

1.5 存储库的安装  39

1.5.1 PyMySQL的安装  39

1.5.2 PyMongo的安装  39

1.5.3 redis-py的安装  40

1.5.4 RedisDump的安装  40

1.6 Web库的安装  41

1.6.1 Flask的安装  41

1.6.2 Tornado的安装  42

1.7 App爬取相关库的安装  43

1.7.1 Charles的安装  44

1.7.2 mitmproxy的安装  50

1.7.3 Appium的安装  55

1.8 爬虫框架的安装  59

1.8.1 pyspider的安装  59

1.8.2 Scrapy的安装  61

1.8.3 Scrapy-Splash的安装  65

1.8.4 Scrapy-Redis的安装  66

1.9 部署相关库的安装  67

1.9.1 Docker的安装  67

1.9.2 Scrapyd的安装  71

1.9.3 Scrapyd-Client的安装  74

1.9.4 Scrapyd API的安装  75

1.9.5 Scrapyrt的安装  75

1.9.6 Gerapy的安装  76

第2章 爬虫基础  77

2.1 HTTP基本原理  77

2.1.1 URI和URL  77

2.1.2 超文本  78

2.1.3 HTTP和HTTPS  78

2.1.4 HTTP请求过程  80

2.1.5 请求  82

2.1.6 响应  84

2.2 网页基础  87

2.2.1 网页的组成  87

2.2.2 网页的结构  88

2.2.3 节点树及节点间的关系  90

2.2.4 选择器  91

2.3 爬虫的基本原理  93

2.3.1 爬虫概述  93

2.3.2 能抓怎样的数据  94

2.3.3 JavaScript渲染页面  94

2.4 会话和Cookies  95

2.4.1 静态网页和动态网页  95

2.4.2 无状态HTTP  96

2.4.3 常见误区  98

2.5 代理的基本原理  99

2.5.1 基本原理  99

2.5.2 代理的作用  99

2.5.3 爬虫代理  100

2.5.4 代理分类  100

2.5.5 常见代理设置  101

第3章 基本库的使用  102

3.1 使用urllib  102

3.1.1 发送请求  102

3.1.2 处理异常  112

3.1.3 解析链接  114

3.1.4 分析Robots协议  119

3.2 使用requests  122

3.2.1 基本用法  122

3.2.2 高级用法  130

3.3 正则表达式  139

3.4 抓取猫眼电影排行  150

第4章 解析库的使用  158

4.1 使用XPath  158

4.2 使用Beautiful Soup  168

4.3 使用pyquery  184

第5章 数据存储  197

5.1 文件存储  197

5.1.1 TXT文本存储  197

5.1.2 JSON文件存储  199

5.1.3 CSV文件存储  203

5.2 关系型数据库存储  207

5.2.1 MySQL的存储  207

5.3 非关系型数据库存储  213

5.3.1 MongoDB存储  214

5.3.2 Redis存储  221

第6章 Ajax数据爬取  232

6.1 什么是Ajax  232

6.2 Ajax分析方法  234

6.3 Ajax结果提取  238

6.4 分析Ajax爬取今日头条街拍美图  242

第7章 动态渲染页面爬取  249

7.1 Selenium的使用  249

7.2 Splash的使用  262

7.3 Splash负载均衡配置  286

7.4 使用Selenium爬取淘宝商品  289

第8章 验证码的识别  298

8.1 图形验证码的识别  298

8.2 极验滑动验证码的识别  301

8.3 点触验证码的识别  311

8.4 微博宫格验证码的识别  318

第9章 代理的使用  326

9.1 代理的设置  326

9.2 代理池的维护  333

9.3 付费代理的使用  347

9.4 ADSL拨号代理  351

9.5 使用代理爬取微信公众号文章  364

第10章 模拟登录  379

10.1 模拟登录并爬取GitHub  379

10.2 Cookies池的搭建  385

第11章 App的爬取  398

11.1 Charles的使用  398

11.2 mitmproxy的使用  405

11.3 mitmdump爬取“得到”App电子书

信息  417

11.4 Appium的基本使用  423

11.5 Appium爬取微信朋友圈  433

11.6 Appium+mitmdump爬取京东商品  437

第12章 pyspider框架的使用  443

12.1 pyspider框架介绍  443

12.2 pyspider的基本使用  445

12.3 pyspider用法详解  459

第13章 Scrapy框架的使用  468

13.1 Scrapy框架介绍  468

13.2 Scrapy入门  470

13.3 Selector的用法  480

13.4 Spider的用法  486

13.5 Downloader Middleware的用法  487

13.6 Spider Middleware的用法  494

13.7 Item Pipeline的用法  496

13.8 Scrapy对接Selenium  506

13.9 Scrapy对接Splash  511

13.10 Scrapy通用爬虫  516

13.11 Scrapyrt的使用  533

13.12 Scrapy对接Docker  536

13.13 Scrapy爬取新浪微博  541

第14章 分布式爬虫  555

14.1 分布式爬虫原理  555

14.2 Scrapy-Redis源码解析  558

14.3 Scrapy分布式实现  564

14.4 Bloom Filter的对接  569

第15章 分布式爬虫的部署  577

15.1 Scrapyd分布式部署  577

15.2 Scrapyd-Client的使用  582

15.3 Scrapyd对接Docker  583

15.4 Scrapyd批量部署  586

15.5 Gerapy分布式管理  590

Python 3网络爬虫开发实战 精彩文摘

我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛。把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就可以被抓取下来了。

2.3.1 爬虫概述

简单来说,爬虫就是获取网页并提取和保存信息的自动化程序,下面概要介绍一下。

1.获取网页

爬虫首先要做的工作就是获取网页,这里就是获取网页的源代码。源代码里包含了网页的部分有用信息,所以只要把源代码获取下来,就可以从中提取想要的信息了。

前面讲了请求和响应的概念,向网站的服务器发送一个请求,返回的响应体便是网页源代码。所以,最关键的部分就是构造一个请求并发送给服务器,然后接收到响应并将其解析出来,那么这个流程怎样实现呢?总不能手工去截取网页源码吧?

不用担心,Python提供了许多库来帮助我们实现这个操作,如urllib、requests等。我们可以用这些库来帮助我们实现HTTP请求操作,请求和响应都可以用类库提供的数据结构来表示,得到响应之后只需要解析数据结构中的Body部分即可,即得到网页的源代码,这样我们可以用程序来实现获取网页的过程了。

图书网:Python 3网络爬虫开发实战pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

数学

吴军:你最喜欢的数字是什么?《数学之美》PDF

数学之美 作者:吴军 数学之美 出版:人民邮电出版社 数学之美 内容简介 你最喜欢的数字是什么?几年前,“数学之美”系列文章原刊载于谷歌黑板报,获得上百万次点击,得到读者高度评价。读者说,读了“数学之...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:3   其中:访客  3   博主  0
    • Mr.▇▇▇
      Mr.▇▇▇ 0

      据说python比较好入门想要学习一下,求他地址

      • 腊月十四
        腊月十四 0

        这本书找了很久了,终于在这里找到了。帮助很大。非常感谢

        • 小西瓜
          小西瓜 0

          我想学爬虫,然后就能大数据时代了,看海贼王路飞