搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Python网络爬虫开发从入门到精通
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787301309094
  • 作      者:
    刘延林编著
  • 出 版 社 :
    北京大学出版社
  • 出版日期:
    2019
收藏
编辑推荐
  《Python网络爬虫开发从入门到精通》坚持以实例为主,理论为辅的路线,从 Python 基础、爬虫开发常用网络请求库,到爬虫框架使用和分布式爬虫设计,以及最后的数据存储、分析、实战训练等,覆盖了爬虫项目开发阶段的整个生命周期。
  (1)没有高深的理论,每一章都是以实例为主,读者参考源码,修改实例,就能得到自己想要的结果。目的是让读者看得懂、学得会、做得出。
  (2)实训与问答,10多章章节实训与问答,目的是让读者看完之后,能做到举一反三,学以致用。
  (3)内容系统,实战性强。本书从零开始讲解,然后逐步深入相关爬虫技能,从而达到从入门到精通的学习效果。
  (4)配套资源丰富。案例源码,Python 常见面试题精选(50 道),“微信高手技巧随身查”“QQ 高手技巧随身查”“手机办公 10 招就够”3 本电子书,“5 分钟学会番茄工作法”视频教程““10 招精通超级时间整理术”视频教程。
展开
作者简介
刘延林,知名论坛Python爬虫专题管理员,擅长Python爬虫技术,并对Python数据分析与挖掘有深入研究。在CSDN等多个知名博客网站发表多篇技术文章,深受读者的喜爱。
展开
内容介绍
本书共分 3 篇,针对 Python 爬虫初学者,从零开始,系统地讲解了如何利用 Python 进行常见的网络爬虫的程序开发。
第 1 篇快速入门篇(第 1 章 ~ 第 9 章):本篇主要介绍了 Python 环境的搭建和一些 Python 的基础语法知识等、Python爬虫入门知识及基本的使用方法、Ajax 数据的分析和抓取、动态渲染页面数据的爬取、网站代理的设置与使用、验证码的识别与破解,以及 App 数据抓取、数据的存储方法等内容。
第 2 篇技能进阶篇(第 10 章 ~ 第 12 章):本篇主要介绍了 PySpider 和 Scrapy 两个常用爬虫框架的基本使用方法、分布式爬虫的实现思路,以及数据分析、数据清洗常用库的使用方法。
第 3 篇项目实战篇(第 13 章):本篇通过 6 个综合实战项目,详细地讲解了 Python 数据爬虫开始与实战应用。本篇对全书内容进行了总结回顾,强化读者的实操水平。
本书案例丰富,注重实战,既适合 Python 程序员和爬虫爱好者阅读学习,也适合作为广大职业院校相关专业的教学用书。
展开
精彩书摘
第1章 Python基础

有句话说得好,“工欲善其事,必先利其器”,由于本书中所涉及的示例代码均以Python作为主要开发语言,因此在学习网络爬虫开发之前,需要对Python的基本使用方法有个大致的了解。同时,本书致力于帮助读者从零基础入门,本章将会对Python的基础语法和使用方法做一个大致的讲解,但不会面面俱到,只需要读者了解基础语法的使用方法即可。如果读者已有一定的Python基础,可跳过本章的学习,从第2章开始深入探究Python。

本章主要涉及的知识点
Python环境的搭建
Python开发IDE PyCharm的基本使用方法
数据类型和变量
字符串编码
列表和元组
流程控制语句if和循环
字典和集合的使用方法
函数
面向对象
多线程

1.1 Python环境搭建
Python(英国发音:/ˈpaɪθən/;美国发音:/ˈpaɪθɑːn/)是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符作为语句缩进。
Python具有丰富和强大的库,常被称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分用更合适的语言改写,如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。
需要注意的是,在使用扩展类库时需要考虑平台问题,某些平台可能不提供跨平台的
功能。
由于Python具有语法简洁及拥有非常全面的第三方类库支持等优势,因此其非常适合用于爬虫程序的编写。Python目前分为两大版本,一个是Python 2.x版本,另一个是Python 3.x版本。这两个版本差距比较大,目前最新版本为Python 3.7.x。需要注意的是,本书中所涉及的代码均以Python 3.6.4为主。
接下来,本节将会讲解如何在常用操作系统下搭建Python 3开发环境,进行Python基础知识的学习和代码编写。
1.1.1 Windows系统下的Python环境安装与配置
Python是跨平台的语言,支持在各种不同的系统中运行,下面先来讲解我们最熟悉的Windows系统下的Python环境安装与测试。
1. 下载Python安装包
根据Windows版本(64位/32位)从Python官网下载对应的版本安装包,Python官网下载地址为https://www.python.org。本书以Windows 10系统为例,相关的操作步骤如下。
步骤A:下载安装包,打开https://www.python.org,进入Python官网首页,鼠标指针移动到【Downloads】选项,可以看到Python的最新版本为Python 3.7.2,如图1-1所示。
步骤B:由于我们使用的是Windows系统,因此需要下载Windows版本的Python,在上一步骤的基础上,鼠标指针移动到【Windows】选项并单击,之后将进入版本选择的界面,如图1-2所示。
步骤C:进入版本选择的界面后,选择需要的版本进行下载。由于本书中所使用的是Python 3.6.4,因此需要找到3.6.4版本的Python安装包并下载,如图1-3所示。

图1-1 Python官网首页

图1-2 版本选择页面

图1-3 选择对应的版本

2. 安装Python
下载完后,双击【python-3.6.4-amd64.exe】运行安装程序,进入安装引导界面,如图1-4所示。

图1-4 Python安装引导界面
接下来,就可以开始安装了,相关的安装步骤如下。
步骤A:选中【Add Python 3.6 to PATH】复选框后单击【Customize installation】选项,会弹出一个可选特性界面,在该界面中可进行选项设置,如图1-5所示。这一步操作的作用是把Python加入系统的PATH环境变量中,如果不选中,就需要手动去配置环境变量。

图1-5 可选特性界面
步骤B:在弹出的可选特性界面中选中所有的复选框,各选项的含义如下。
(1)Documentation:安装Python的帮助文档。
(2)pip:安装Python的第三方包管理工具。
(3)tcl/tk and IDLE:安装Python自带的集成开发环境。
(4)Python test suite:安装Python的标准测试套件。
(5)py launcher 和 for all users (requires elevation):允许所有用户更新版本。
选中之后单击【Next】按钮进入下一步骤。
步骤C:通过步骤2之后,进入Advanced Options(高级选项)配置界面,保持默认的设置,然后单击【Browse】按钮选择安装路径,如图1-6所示。

图1-6 高级选项配置界面
步骤D:单击【Install】按钮进行安装,安装过程会持续一段时间。安装完成后,在控制台打开cmd命令行窗口,输入“python”,检查是否安装成功。如果安装成功,将会出现类似以下信息的内容,从中可以看到关于所安装的Python版本等信息。
C:\Users\lyl>python
Python 3.6.4 (v3.6.4:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help","copyright","credits" or "license" for more information.
>>>
1.1.2 Linux系统下的Python环境安装
Linux系统下的Python环境安装,一般常用的有两种方式:命令安装和源码安装。Linux系统默认装有Python 2.7版本,但是由于我们需要使用3.x版本的Python,因此需要自己安装。使用源码安装Python需要自己编译,而且时间比较长。在这里推荐使用命令安装,这样既简单又快速,可以省去很多步骤。由于Linux系统有众多版本,这里选择性地以Ubuntu/Debian/Deepin为例。下面将分别介绍命令安装和源码安装。
1. 命令安装
使用命令在Ubuntu下安装Python的相关步骤如下。
步骤A:在使用命令安装之前,需要先打开Linux命令行。由于本书所使用的是一台云服务器上的Ubuntu,因此需要使用xshell工具去连接,连接后,默认就是一个命令行界面,如图1-7所示。如果用户是在自己的虚拟机上安装的Ubuntu,则可以按【Ctrl+Alt+T】组合键直接打开命令行。

图1-7 Linux命令行界面
步骤B:打开命令行之后,切换到root用户,直接输入命令“sudo su”即可切换,如图1-8所示,如果默认是使用root用户登录的,则可以省略此步骤。

图1-8 切换root用户
步骤C:接下来输入命令:
apt-get update
在apt-get update 执行完成之后,输入下面的命令,安装Python 3所需要的一些依赖环境。
apt-get install -y python3-dev build-essential libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev
libcurl4-openssl-dev
此命令成功执行完毕后将会出现如图1-9所示的内容。

图1-9 安装Python 3所需的依赖环境
步骤D:紧接着继续输入命令:
apt-get install -y python3
等待安装。安装过程会持续一段时间,执行完命令后,Python 3就安装完成了。最后还要测试一下是否安装成功,直接输入“python3”,如图1-10所示,如果安装成功将会看到相关的版本信息。

图1-10 测试是否安装成功
步骤E:继续安装pip3。pip是一个现代的、通用的Python包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。这里还是使用命令安装,输入命令:
sudo apt-get install -y python3-pip
执行完命令后,测试一下pip是否安装成功,输入命令“pip3 list”,如果出现类似如图1-11所示的内容,则代表安装成功。

图1-11 测试pip是否安装成功
展开
目录
第1篇 快速入门篇
第1章 Python基础 2
1.1 Python环境搭建 3
1.2 Python编程入门 16
1.3 新手实训 33
1.4 新手问答 35
本章小结 35
第2章 Python爬虫入门 36
2.1 爬虫的分类 37
2.2 爬虫的基本结构和工作流程 38
2.3 爬虫策略 39
2.4 HTTP的基本原理 40
2.5 网页基础 45
2.6 Session和Cookie 49
2.7 新手实训 51
2.8 新手问答 54
本章小结 55
第3章 基本库的使用 56
3.1 urllib 57
3.2 requests 64
3.3 re正则使用 69
3.4 XPath 75
3.5 新手实训 78
3.6 新手问答 81
本章小结 82
第4章 Ajax数据抓取 83
4.1 Ajax简介 84
4.2 使用Python模拟Ajax请求数据 91
4.3 新手实训 93
4.4 新手问答 96
本章小结 96
第5章 动态渲染页面爬取 97
5.1 Selenium的使用 98
5.2 Splash的基本使用 115
5.3 新手实训 127
5.4 新手问答 131
本章小结 132
第6章 代理的设置与使用 133
6.1 代理设置 134
6.2 代理池构建 136
6.3 付费代理的使用 140
6.4 ADSL拨号代理的搭建 145
6.5 新手问答 155
本章小结 156
第7章 验证码的识别与破解 157
7.1 普通图形验证码的识别 158
7.2 极验滑动验证码的破解 164
7.3 极验滑动拼图验证码破解 168
7.4 新手问答 174
本章小结 175
第8章 App数据抓取 176
8.1 Fiddler的基本使用 177
8.2 Charles的基本使用 182
8.3 Appium的基本使用 196
8.4 新手问答 217
本章小结 217
第9章 数据存储 218
9.1 文件存储 219
9.2 数据库存储 224
9.3 新手实训 236
9.4 新手问答 239
本章小结 240

第2篇 技能进阶篇
第10章 常用爬虫框架 242
10.1 PySpider框架 243
10.2 Scrapy框架 252
10.3 Scrapy-Splash的使用 262
10.4 新手实训 266
10.5 新手问答 269
本章小结 269
第11章 部署爬虫 270
11.1 Linux系统下安装Python 3 271
11.2 Docker的使用 273
11.3 Docker安装Python 274
11.4 Docker安装MySQL 277
本章小结 278

第12章 数据分析 279
12.1 NumPy的使用 280
12.2 Pandas的使用 296
12.3 pyecharts的使用 311
12.4 新手实训 315
12.5 新手问答 316
本章小结 316

第3篇 项目实战篇
第13章 爬虫项目实战 318
13.1 实战一:Selenium+XPath爬取简书 319
13.2 实战二:使用requests爬取腾讯人口迁徙数据 326
13.3 实战三:Scrapy爬取豆瓣电影 330
13.4 实战四:使用Selenium多线程异步爬取同城旅游网机票价格信息 334
13.5 实战五:数据分析Dessert Apples下12种苹果全年最高、最低和平均销量 343
13.6 实战六:中国南方航空机票信息爬取 346
本章小结 352

附录 Python常见面试题精选 353
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证