• 文章介绍
  • 评价建议

  • Python 这门编程语言有着自身成熟的理论体系,同时它也是应用性极强的一门技术。

    在读者从其他任何入门类型的 Python 图书学到 Python 的基本语法,读者可能会对自己所达到的这种瓶颈状态感到焦虑,不知道下一步该从哪里入手,或者说该学什么。这就是本书想要解决的问题。

    在本书中,读者将会学到一些关于自动化爬虫、网页测试以及 Python 的拔高内容。这些东西会帮助读者构建自己的工具箱。无论读者朝向哪个方向发展,学习这些的总是不会错的。如果读者的方向是 web 开发,那么这些知识是必不可少的,而对于测试运维、数据分析师和人工智能工程师,那么您更需要精通这些知识。

    不同于其它 Python 拓展性教程书,本书更注重内容拓展和迁移。将一些庞大的代码打散、拆分,转换成一种易于理解和容易掌握的内容。之所以采用这样零碎化的方式,是因为本书旨在为读者提供更为广泛的解决方案,并且读者可以在自己十万火急的项目中快速应用这些技术。笔者相信,在这书中,读者不仅可以学到很多 Python 的编程技能,并且可以在十万火急的任务面前快速应用它们。

    本书的行文内容深入浅出、图文并茂,将枯燥生硬的知识用一种诙谐幽默、浅显直白的口语化方式娓娓道来。本书不囿于教条,更注重实战部分内容的展示。对于理论知识介绍,除了必须要了解的内容,本书绝不贪多求全,将重点放在实务操作,来帮助快速上手。

    因受作者水平和成书时间所限,本书难免存有疏漏和不当之处,敬请指正。

    本书特色

    1.内容实用实在、详略得当,讲授

    从内容结构上非常注重知识的实用性和可操作性,对于重点和难于理解的内容绝不吝惜笔墨。由浅入深的讲解方式易于读者理解,符合初学者的认知规律。更多的来说,本书采用示例与实践相结合的方式,实战性强。在书籍内容推进的同时,帮助读者建立起全套的知识理论体系

    2.三步一回头,知识综合运用

    传统的书籍注重于介绍理论知识、案例少,这样的学习学得快、忘得也快,很大程度上读者可能会出现学完后面的章节忘记了前面的章节。本书则不然,在讲解完每一个大的模块后,都会采用实际的案例对前面学习的内容进行综合处理运用,这样一来就避免了学习不同章节不同实例间的知识脱节,使读者构建的知识理论体系连贯统一。

    笔者的讲授绝不是死板教条式的,尽管笔者是本书唯一的作者,但在本书中,笔者更多会使用“我们”这样的词语。原因是我们是一起的,都在朝着拓展 Python 技能,提高自己的技术水平的方向努力,从这一方面来说,笔者和读者不过是闻道路上互相搀扶的同道者,我走的慢了你催我一声,你陷入泥潭了我拉你一把。

    本书内容及体系结构

    第 1 章 从 Selenium 开始

    本章从起初入手,帮助读者了解 Selenium 项目的框架和由来,以及如何选择自己的WebDriver。接着介绍了在 Windows 和 Linux 两种操作系统下的 Selenium 安装方式。

    第 2 章 页面导航本章对 Selenium 项目和浏览器交互的基本操作内容进行了介绍和串讲。本章介绍了如何通过 Selenium 项目实现启动浏览器,打开浏览器,浏览器窗口切换等一系列的常用的浏览器操作的自动化。为后面的学习奠定基础。

    第 3 章 元素定位

    在第三章中笔者将会引领读者领略了 Selenium 的八种元素定位方式。通过对本章与前两章的内容的学习,读者可以初步掌握并实现一个略有雏形的自动化程序的能力。

    第 4 章 利器----PhantomJS

    PhantomJS 是一个独立的项目,可以实现绝大部分浏览器的功能。不同于其他的浏览器,PhantomJS 只会在内存中运行,而不会显示任何界面。十分适合我们进行数据采集的时候使用。本章介绍了 PhantomJS 和 Selenium 搭配使用的方法。

    第 5 章 实战 part1——Python 官网

    本章是对前面所学的内容的一个综合整理运用。通过实战,帮助读者巩固已经学习过的知识,并且在实际操作中,锻炼读者的编程能力与思维。

    第 6 章 实战 part2——今日头条

    以今日头条为例子,引入即将要学习的内容,本章主要讨论技术部分实现以及解决思路分析。目的在于帮助读者形成一个目录式的系统印象。

    第 7 章 数据编解码、处理

    在互联网中,难免要面对错综复杂的各种数据类型,这一章主要介绍以下内容:CSV、JSON、XML、BASE64、NLTK、HASH、Bloom Filter 以及关系型数据库和非关系型数据库。

    第 8 章 实战 part3——猫眼电影

    以猫眼电影为例子,详细讲解从了解客户需求到网站分析、处理的全套流程,并在分析中逐步引入代码的说明与实现。

    第 9 章 实战 part4——淘宝商品

    在这一小节中,笔者以淘宝商品为例子,阐述如何应对复杂网站的页面数据采集,帮助诸位追赶较为新颖的实现方式,解决读者因难以下手而犹豫不决,无法直接应用的难题。

    第 10 章 单元测试

    解决单元测试是什么、为什么要写单元测试、应该怎么写单元测试这三个难题。帮助读者评估在自己的项目中是否要使用单元测试。

    第 11 章 多线程

    实现同步完成多项任务的功能,帮助读者提高程序的运行效率,解决时间。讨论线程、进程、线程切换、锁以及 GIL 等概念。

    第 12 章 发送邮件

    本章讨论程序反馈最低廉且合理的方式,通过实现自动化发送邮件,实现服务器(程序)无人值守情况下的报备以及记录

    第 13 章 Selenium IDE

    介绍了两个简单且方便的录制自动化脚本的工具,为读者提供一条功能化的测试道路,快捷生成自动化脚本。

    第 14 章 Python 拓展

    这一章节讨论包括但不限于:Python2 代码转换 Python3 代码,测试类型,通配符,字符串方法,异常层次结构,类,推导式等等扩展性内容。

    第 15 章 GUI,图形化测试

    讨论制作图形化界面的方法并且介绍经常使用的组件,帮助读者实现测试工具图形化以及了解底层实现的思路。

    第 16 章 实战案例 part5 知乎着重讨论 Selenium 项目和传统方式的爬虫的结合,实现一种全新的,功能更加强大的

    数据采集爬虫。

    第 17 章 实战案例 part6 微博

    对全书的内容的整合提升,帮助读者巩固已经学过的知识,构筑全面的知识框架,了解自己的不足与缺陷。

    本书读者对象

    ⚫ 测试自动化

    ⚫ Web 开发者

    ⚫ Python 开发工程师

    ⚫ 人工智能工程师

    ⚫ 爬虫开发工程师

    ⚫ 数据分析工程师

    系统运维工程师

    目录

    前言..........................................................................................................................................................................7

    内 容 简 介.......................................................................................................................................................10

    第 1 章 Selenium 安装...................................................................................................................................11

    1.1 Selenium 的优点 ..........................................................................................................................11

    1.2 Selenium Webdriver....................................................................................................................12

    1.3 Selenium 安装...............................................................................................................................14

    1.3.1 windows 用户的详细说明.................................................................................................15

    1.3.2 Linux 用户的详细说明........................................................................................................16

    第 2 章 页面导航 .............................................................................................................................................16

    2.1 启动浏览器 ...................................................................................................................................17

    2.2 打开页面........................................................................................................................................18

    2.3 浏览器基本操作..........................................................................................................................19

    2.4 拖拽窗口........................................................................................................................................20

    2.5 Cookie 的调用...............................................................................................................................22

    2.6 使用多个窗口...............................................................................................................................23

    本章附录................................................................................................................................................24

    第 3 章 元素定位 .............................................................................................................................................25

    3.1 元素定位是什么..........................................................................................................................26

    3.2 根据 ID 定位...............................................................................................................................27

    3.3 根据 Name 定位........................................................................................................................29

    3.4 XPath 定位 ...................................................................................................................................30

    3.5 标签名(Tag Name)定位............................................................................................................31

    3.6 Class Name 定位..........................................................................................................................32

    3.7 css 选择器定位 .............................................................................................................................34

    3.8 Link Text 定位................................................................................................................................35

    3.9 Partial Link Text 定位..................................................................................................................36

    第 4 章 利器----phantomjs ........................................................................................................................37

    4.1 PhantomJS 是什么.......................................................................................................................37

    4.2 PhantomJS 下载与安装..............................................................................................................37

    4.2.1 Windows .................................................................................................................................38

    4.2.2 Linux .........................................................................................................................................384.2.3 检验安装................................................................................................................................38

    4.3 配置相应的 Webdriver..............................................................................................................39

    4.4 第一个 PhantomJS 小程序.......................................................................................................39

    4.5 time.sleep()慢下来.......................................................................................................................42

    4.6 PhantomJS 命令行指令参数 ....................................................................................................42

    4.7 其他问题.........................................................................................................................................43

    4.7.1.中文编码问题........................................................................................................................43

    4.7.2 不同 frame 间的转换..........................................................................................................43

    4.7.3 PhantomJS 进程不自动退出 ............................................................................................43

    第 5 章 实战 part 1——Python 官网 ........................................................................................................44

    5.1 Selenium 访问 Python 官网......................................................................................................44

    5.2 通过 JavaScript 修改官网标题................................................................................................44

    5.3 在搜索框搜索...............................................................................................................................45

    5.4 获取 latest news 部分................................................................................................................46

    5.5 selenium 的等待...........................................................................................................................48

    第 6 章 实战 part2——今日头条.............................................................................................................51

    6.1 Selenium 访问百度热词.............................................................................................................51

    6.2 selenium 搜索相关热词.............................................................................................................53

    6.3 获取第一条结果..........................................................................................................................54

    6.4 元素定位——抓取内容 ............................................................................................................55

    6.5 数据存储........................................................................................................................................57

    第 7 章 数据编解码,处理.........................................................................................................................59

    7.1 读写 CSV 文件..............................................................................................................................59

    7.2 读写 JSON 文件...........................................................................................................................61

    7.3 将字典转化为 XML.....................................................................................................................63

    7.4 解析 XML .......................................................................................................................................65

    7.5 编码 BASE64 ..................................................................................................................................67

    7.6 词性分析、统计分析 NLTK.......................................................................................................68

    7.7 哈希表.............................................................................................................................................72

    7.8 布隆过滤器 ...................................................................................................................................74

    7.9 关系型数据库 MYSQL ...............................................................................................................75

    7.9.1 MySQL 安装...........................................................................................................................76

    7.9.2 MySQL 常用命令..................................................................................................................797.10 非关系型数据 NOSQL..............................................................................................................85

    7.11 总结................................................................................................................................................85

    第 8 章 实战 part3——猫眼电影 ...............................................................................................................86

    8.1 网站分析........................................................................................................................................86

    8.2 测试代码 1.0.................................................................................................................................88

    8.3 测试代码 2.0.................................................................................................................................90

    第 9 章 实战 part4——淘宝商品 ...............................................................................................................93

    9.1 准备工作........................................................................................................................................93

    9.2 流程简述........................................................................................................................................93

    9.3 代码解读........................................................................................................................................96

    9.4 可配置项......................................................................................................................................101

    第 10 章 单元测试.......................................................................................................................................101

    10.1 为什么要写单元测试.............................................................................................................102

    10.2 怎样写单元测试......................................................................................................................102

    10.3 单元测试演示 ..........................................................................................................................103

    10.4 单元测试样例 ..........................................................................................................................104

    10.5 Selenium 单元测试 .................................................................................................................107

    10.6 美化报告....................................................................................................................................108

    第 11 章 多线程...........................................................................................................................................110

    11.1 什么是进程线程......................................................................................................................110

    11.2 单线程,多线程对比.............................................................................................................111

    11.3 实际体验....................................................................................................................................111

    11.4 threading 库常用函数............................................................................................................114

    11.5 锁的概念....................................................................................................................................114

    11.6 主程序是线程还是进程........................................................................................................116

    11.7 更多解决方案 ..........................................................................................................................116

    11.8 多线程+Selneium 的样例....................................................................................................117

    11.9 GIL.................................................................................................................................................118

    第 12 章 发送邮件.........................................................................................................................................118

    12.1 通讯的选择...............................................................................................................................118

    12.2 获取授权码...............................................................................................................................119

    12.3 发送邮件....................................................................................................................................120

    第 13 章 Selenium IDE .................................................................................................................................12313.1 IDE 安装......................................................................................................................................123

    13.2 Selenium IDE.............................................................................................................................125

    13.3 Katalon Recorder.....................................................................................................................128

    13.3.2 实例与步骤.......................................................................................................................131

    13.4 数据驱动....................................................................................................................................132

    13.5 扩展脚本....................................................................................................................................133

    13.5.1 添加扩展脚本 ..................................................................................................................133

    13.5.2 定位器构建器 ..................................................................................................................134

    13.5.3 定位器构建的自定义顺序 ...........................................................................................134

    13.5.4 Prototype 附加命令........................................................................................................134

    13.6 Katalon Recorder Helper 工具..............................................................................................135

    第 14 章 Python 拓展...................................................................................................................................136

    14.1 2to3 工具....................................................................................................................................136

    14.2 测试类型....................................................................................................................................137

    14.3 通配符类型...............................................................................................................................137

    14.4 str 方法........................................................................................................................................138

    14.5 异常层次结构 ..........................................................................................................................139

    14.6 兼容 Python2 和 3..................................................................................................................140

    14.7 兼容性代码...............................................................................................................................141

    14.7.1 导入库.....................................................................................................................................141

    14.7.2 输出函数................................................................................................................................141

    14.7.3 异常捕获................................................................................................................................142

    14.8 类相关........................................................................................................................................142

    14.9 推导式........................................................................................................................................143

    14.10 经典除法和真除法...............................................................................................................144

    14.11 __future__ .................................................................................................................................144

    14.12 类型转换和关键字...............................................................................................................145

    第 15 章 GUI,图形化测试 ........................................................................................................................146

    15.1 tkinter 测试................................................................................................................................146

    15.2 创建界面....................................................................................................................................147

    15.3 按钮.............................................................................................................................................147

    15.4 pack 属性....................................................................................................................................14815.5 继承类.........................................................................................................................................148

    15.6 Checkbutton 和 Radiobutton ..............................................................................................150

    15.7 Entry 输入框..............................................................................................................................152

    15.8 Listbox .........................................................................................................................................157

    15.9 Text 控件 ....................................................................................................................................160

    15.10 Canvas 控件............................................................................................................................162

    15.11 Menu 控件...............................................................................................................................165

    15.12 spinbox 控件...........................................................................................................................167

    15.13 messagebox............................................................................................................................168

    15.14 filedialog...................................................................................................................................169

    15.15 Message ...................................................................................................................................169

    15.16 tkinter 界面布局 ....................................................................................................................170

    15.17 tkinter 支持的模块................................................................................................................171

    15.18 _tkinter 接口............................................................................................................................172

    15.19 tkinter.ttk..................................................................................................................................172

    15.20 底层实现流程........................................................................................................................172

    第 16 章 实战案例 part5 知乎..................................................................................................................173

    16.1 知乎分析....................................................................................................................................173

    16.2 文字部分....................................................................................................................................176

    16.3 图片部分....................................................................................................................................179

    16.4 建议.............................................................................................................................................183

    16.4.1 从干净状态开始..............................................................................................................184

    16.4.2 测试隔离............................................................................................................................184

    16.4.3 Anaconda...........................................................................................................................184

    16.4.4 报告.....................................................................................................................................185

    16.4.5 IP 代理.................................................................................................................................185

    16.4.6 过滤请求............................................................................................................................186

    16.5 一些注意事项 ..........................................................................................................................186

    16.5.1 Captchas.............................................................................................................................186

    16.5.2 性能测试............................................................................................................................187

    16.5.3 六度分割理论与实际使用 ...........................................................................................187

    16.5.4 HTTP 响应代码.................................................................................................................18716.6 常见问题....................................................................................................................................189

    16.6.1 元素定位失败 ..................................................................................................................189

    16.6.2 Webdriver 调用失败.......................................................................................................191

    第 17 章 实战 part6 微博...........................................................................................................................191

    17.1 微博分析....................................................................................................................................191

    17.2 实现思路....................................................................................................................................193

    17.3 代码改进....................................................................................................................................199

    17.4 结语.............................................................................................................................................201

    附录 1 怎样阅读源码...................................................................................................................................201

    附录 2 GIT 分布式计算.................................................................................................................................204

    1 GIT 的背景介绍.............................................................................................................................204

    2 GIT 与其他版本控制系统的区别.............................................................................................205

    3 Git 克隆、修改、推送................................................................................................................207

    4 Git 分支............................................................................................................................................208

    5 Git 自定义命令..............................................................................................................................209

    6 Git stash 命令..................................................................................................................................210

    7 Git 文件对比...................................................................................................................................211

    8 Git 版本日志、回退.....................................................................................................................212

    附录 3 我们都是创客,生来如此............................................................................................................214

    附录 4 下一步.................................................................................................................................................216前言

    免责声明:
    1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
    2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
    3. 未登录无法下载,登录使用金币下载所有资源。
    IT小站 » 超高清原版PDF爬虫教程电子书《SELENIUM 自动化爬虫》完整版下载【6M 291页】

    常见问题FAQ

    没有金币/金币不足 怎么办?
    本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
    所有资源普通会员都能下载吗?
    本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

    发表评论