| 作者 |
| 张頔黄永昌 |
| 丛书名 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9781909061145 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------Python编程从0到1(视频教学版)--------------------------- 本书以Python语言构建了程序设计基础课程的教学体系。本书在对程序设计核心方法的探讨上较其他Python书籍更为全面和深入。通过对本书内容的学习,读者将全面地掌握用Python进行程序设计的基本能力。 本书分为4章,每章都细分为若干节,知识点非常详细。第1章向读者介绍Python的基本语法和程序设计的一般方法。第2章向读者介绍函数这一重要概念。第3章通过Python的内建类型讲述了常见数据结构。第4章讲解Python的面向对象特性。 本书适合大专院校理工科专业的Python教学,IT职业培训机构的Python类课程体系,以及自学Python的学习者。 ---------------------------从零开始学Python网络爬虫--------------------------- Python是数据分析的语言,而网络中的数据和信息很多,如何从中获取需要的数据和信息呢?简单、直接的方法就是用爬虫技术来解决。本书是一本教初学者学习如何爬取网络数据和信息的入门读物。书中不仅有Python的相关内容,而且还有数据处理和数据挖掘等方面的内容。本书内容非常实用,讲解时穿插了22个爬虫实战案例,可以大大提高读者的实际动手能力。本书共分12章,核心主题包括Python零基础语法入门、爬虫原理和网页构造、我的第壹个爬虫程序、正则表达式、Lxml库与Xpath语法、使用API、数据库存储、多进程爬虫、异步加载、表单交互与模拟登录、Selenium模拟浏览器、Scrapy爬虫框架。此外,书中通过一些典型爬虫案例,讲解了有经纬信息的地图图表和词云的制作方法,让读者体验数据背后的乐趣。本书适合爬虫技术初学者、爱好者及高等院校的相关学生,也适合数据爬虫工程师作为参考读物,同时也适合各大Python数据分析的培训机构作为教材使用。 |
| 目录 |
---------------------------Python编程从0到1(视频教学版)--------------------------- 前言 第1章 基础 1 1.1 历史 2 1.2 表达式 3 1.2.1 运算数 3 1.2.2 运算符 3 1.2.3 表达式的风格 4 1.2.4 表达式的嵌套 5 1.2.5 数据类型 5 1.2.6 副作用 6 1.2.7 小结 6 1.3 运行程序 6 1.3.1 交互执行模式 7 1.3.2 查阅帮助文档 8 1.3.3 执行Python程序脚本 9 1.3.4 标识符和关键字 10 1.3.5 运行环境的错误提示 11 1.3.6 示例:欧几里得算法 12 1.3.7 小结 15 1.4 内建类型、赋值和引用 15 1.4.1 字面值 15 1.4.2 构造方法 17 1.4.3 容器类型 18 1.4.4 索引和切片 22 1.4.5 左值、赋值和引用 24 1.4.6 del操作 29 1.4.7 小结 30 1.5 流程控制结构 30 1.5.1 if分支语句 30 1.5.2 布尔运算 33 1.5.3 while循环 34 1.5.4 for循环 40 1.5.5 条件表达式 42 1.5.6 定义简单函数 43 1.5.7 小结 44 1.6 输入/输出 44 1.6.1 标准输入/输出(I/O)流 44 1.6.2 重定向标准I/O至文件 45 1.6.3 用管道行串接I/O 46 1.6.4 标准I/O流对象 47 1.6.5 命令行参数 48 1.6.6 环境变量 49 1.6.7 格式化字符串 50 1.6.8 小结 51 1.7 简单练习 51 1.7.1 示例:打印金字塔图形 52 1.7.2 示例:3X+1问题 53 1.7.3 示例:绘制正多边形 54 1.7.4 示例:绘制函数曲线 55 1.7.5 示例:蒙特卡洛方法 56 1.7.6 示例:埃特金迭代法求方程的根 59 1.7.7 小结 61 1.8 程序执行模型 61 1.8.1 手段限制 62 1.8.2 无状态程序 62 1.8.3 有状态程序 67 1.8.4 线性存储器 73 1.8.5 使用栈设计程序 76 1.8.6 使用队列设计程序 79 1.8.7 小结 84 1.9 算法的性能描述 85 1.10 异常处理 87 1.10.1 基本语法 88 1.10.2 提升程序的健壮性 91 1.10.3 完整的异常捕获机制 94 1.10.4 小结 96 1.11 程序调试 97 1.12 总结 98 第2章 函数 99 2.1 函数基础 100 2.1.1 函数的作用 100 2.1.2 定义和调用函数 101 2.1.3 提供机制而非策略 102 2.1.4 用函数消除重复代码 103 2.1.5 Lambda表达式 105 2.1.6 回调函数 106 2.1.7 闭包 107 2.1.8 传参方式 108 2.1.9 文档字符串 110 2.1.10 小结 111 2.2 模块和包 111 2.2.1 处理名字冲突 111 2.2.2 模块与import 112 2.2.3 在模块中包含测试代码 113 2.2.4 模块搜索路径 113 2.2.5 包 114 2.2.6 小结 115 2.3 作用域和栈帧 115 2.3.1 名字的查找 115 2.3.2 nonlocal和global关键字 118 2.3.3 函数的调用栈 118 2.3.4 对象的生命期 119 2.3.5 小结 121 2.4 递归 121 2.4.1 单重递归 121 2.4.2 多重递归 124 2.4.3 示例:科赫雪花 125 2.4.4 示例:二叉树的后序遍历 127 2.4.5 消除尾递归 129 2.4.6 用栈和状态机消除递归 131 2.4.7 重复递归带来的性能陷阱 135 2.4.8 用动态规划消除重复递归 136 2.4.9 示例:通配符匹配 139 2.4.10 小结 141 2.5 类和成员方法 141 2.5.1 面向对象的函数调用风格 142 2.5.2 类和实例 143 2.5.3 定义类 144 2.5.4 创建实例 145 2.5.5 方法定义 145 2.6 高阶函数 147 2.6.1 对函数进行运算 148 2.6.2 函数装饰器 149 2.6.3 map和filter函数 152 2.6.4 小结 155 2.7 迭代器和生成器模式 155 2.7.1 可迭代对象和迭代器 156 2.7.2 生成器函数 157 2.7.3 列表推导式和生成器表达式 158 2.7.4 小结 160 2.8 总结 160 第3章 数据结构 161 3.1 列表 162 3.1.1 数组和内存 162 3.1.2 列表对象的结构 165 3.1.3 列表元素的插入 168 3.1.4 列表的排序 170 3.1.5 有序列表的二分查找 171 3.1.6 列表的基本操作接口 172 3.1.7 小结 173 3.2 链表 174 3.2.1 单链表 175 3.2.2 实现迭代器模式 178 3.2.3 用单链表实现栈 179 3.2.4 双向循环链表 180 3.2.5 用双向链表实现队列 182 3.2.6 双向链表的查找、插入和删除 183 3.2.7 小结 184 3.3 散列表 184 3.3.1 基本原理 185 3.3.2 应用示例 188 3.3.3 字典 189 3.3.4 小结 193 3.4 二叉树 194 3.4.1 概念和定义 194 3.4.2 表示和存储 196 3.4.3 遍历 198 3.4.4 二叉搜索树 200 3.4.5 二叉堆和优先队列 207 3.4.6 哈夫曼编码 209 3.4.7 小结 212 3.5 案例分析 212 3.5.1 deque链表块 212 3.5.2 OrderedDict有序字典 216 3.6 综合练习:寻路问题算法 218 3.6.1 图的表示 219 3.6.2 Dijkstra算法 221 3.6.3 A*算法 224 3.7 总结 231 第4章 面向对象 232 4.1 类 233 4.1.1 术语 233 4.1.2 成员方法 234 4.1.3 静态方法 236 4.1.4 类属性和类方法 237 4.1.5 私有成员 239 4.1.6 property装饰器 240 4.1.7 动态添加属性和slots 242 4.1.8 实例的生命周期 243 4.1.9 复制对象 244 4.1.10 小结 245 4.2 继承和多态 246 4.2.1 语法 246 4.2.2 如何设计类 249 4.2.3 多继承 251 4.2.4 鸭子类型和多态 252 4.2.5 小结 253 4.3 综合练习:GUI程序设计PyQt 253 4.3.1 安装PyQt 254 4.3.2 使用继承创建窗体 255 4.3.3 响应事件 256 4.3.4 小结 257 4.4 总结 257 参考文献 258 ---------------------------从零开始学Python网络爬虫--------------------------- 前言 第1章 Python零基础语法入门 1 1.1 Python与PyCharm安装 1 1.1.1 Python安装(Windows、Mac和Linux) 1 1.1.2 PyCharm安装 3 1.2 变量和字符串 3 1.2.1 变量 4 1.2.2 字符串的“加法”和“乘法” 4 1.2.3 字符串的切片和索引 5 1.2.4 字符串方法 5 1.3 函数与控制语句 7 1.3.1 函数 7 1.3.2 判断语句 8 1.3.3 循环语句 8 1.4 Python数据结构 9 1.4.1 列表 9 1.4.2 字典 11 1.4.3 元组和集合 11 1.5 Python文件操作 11 1.5.1 打开文件 11 1.5.2 读写文件 12 1.5.3 关闭文件 13 1.6 Python面向对象 13 1.6.1 定义类 14 1.6.2 实例属性 14 1.6.3 实例方法 15 1.6.4 类的继承 16 第2章 爬虫原理和网页构造 17 2.1 爬虫原理 17 2.1.1 网络连接 17 2.1.2 爬虫原理 18 2.2 网页构造 21 2.2.1 Chrome浏览器的安装 21 2.2.2 网页构造 22 2.2.3 查询网页信息 23 第3章 我的第一个爬虫程序 26 3.1 Python第三方库 26 3.1.1 Python第三方库的概念 26 3.1.2 Python第三方库的安装方法 27 3.1.3 Python第三方库的使用方法 29 3.2 爬虫三大库 30 3.2.1 Requests库 30 3.2.2 BeautifulSoup库 32 3.2.3 Lxml库 36 3.3 综合案例1——爬取北京地区短租房信息 37 3.3.1 爬虫思路分析 37 3.3.2 爬虫代码及分析 38 3.4 综合案例2——爬取酷狗TOP500的数据 41 3.4.1 爬虫思路分析 41 3.4.2 爬虫代码及分析 43 第4章 正则表达式 45 4.1 正则表达式常用符号 45 4.1.1 一般字符 45 4.1.2 预定义字符集 46 4.1.3 数量词 46 4.1.4 边界匹配 47 4.2 re模块及其方法 48 4.2.1 search()函数 48 4.2.2 sub()函数 49 4.2.3 findall()函数 49 4.2.4 re模块修饰符 51 4.3 综合案例1——爬取《斗破苍穹》全文小说 53 4.3.1 爬虫思路分析 53 4.3.2 爬虫代码及分析 55 4.4 综合案例2——爬取糗事百科网的段子信息 56 4.4.1 爬虫思路分析 56 4.4.2 爬虫代码及分析 58 第5章 Lxml库与Xpath语法 63 5.1 Lxml库的安装与使用方法 63 5.1.1 Lxml库的安装(Mac、Linux) 63 5.1.2 Lxml库的使用 64 5.2 Xpath语法 68 5.2.1 节点关系 68 5.2.2 节点选择 70 5.2.3 使用技巧 70 5.2.4 性能对比 74 5.3 综合案例1——爬取豆瓣网图书TOP250的数据 77 5.3.1 将数据存储到CSV文件中 77 5.3.2 爬虫思路分析 78 5.3.3 爬虫代码及分析 80 5.4 综合案例2——爬取起点中文网小说信息 83 5.4.1 将数据存储到Excel文件中 83 5.4.2 爬虫思路分析 84 5.4.3 爬虫代码及分析 86 第6章 使用API 88 6.1 API的使用 88 6.1.1 API概述 88 6.1.2 API使用方法 89 6.1.3 API验证 91 6.2 解析JSON数据 93 6.2.1 JSON解析库 93 6.2.2 斯必克API调用 94 6.2.3 百度地图API调用 96 6.3 综合案例1——爬取PEXELS图片 98 6.3.1 图片爬取方法 98 6.3.2 爬虫思路分析 99 6.3.3 爬虫代码及分析 100 6.4 综合案例2——爬取糗事百科网的用户地址信息 102 6.4.1 地图的绘制 102 6.4.2 爬取思路分析 105 6.4.3 爬虫代码及分析 106 第7章 数据库存储 109 7.1 MongoDB数据库 109 7.1.1 NoSQL概述 109 7.1.2 MongoDB的安装 109 7.1.3 MongoDB的使用 115 7.2 MySQL数据库 117 7.2.1 关系型数据库概述 117 7.2.2 MySQL的安装 117 7.2.3 MySQL的使用 123 7.3 综合案例1——爬取豆瓣音乐TOP250的数据 126 7.3.1 爬虫思路分析 126 7.3.2 爬虫代码及分析 127 7.4 综合案例2——爬取豆瓣电影TOP250的数据 132 7.4.1 爬虫思路分析 132 7.4.2 爬虫代码及分析 133 第8章 多进程爬虫 139 8.1 多线程与多进程 139 8.1.1 多线程和多进程概述 139 8.1.2 多进程使用方法 140 8.1.3 性能对比 140 8.2 综合案例1——爬取简书网热评文章 143 8.2.1 爬虫思路分析 143 8.2.2 爬虫代码及分析 147 8.3 综合案例2——爬取转转网二手市场商品信息 150 8.3.1 爬虫思路分析 150 8.3.2 爬虫代码及分析 152 第9章 异步加载 159 9.1 异步加载技术与爬虫方法 159 9.1.1 异步加载技术概述 159 9.1.2 异步加载网页示例 159 9.1.3 逆向工程 162 9.2 综合案例1——爬取简书网用户动态信息 165 9.2.1 爬虫思路分析 165 9.2.2 爬虫代码及分析 171 9.3 综合案例2——爬取简书网7日热门信息 173 9.3.1 爬虫思路分析 173 9.3.2 爬虫代码及分析 179 第10章 表单交互与模拟登录 182 10.1 表单交互 182 10.1.1 POST方法 182 10.1.2 查看网页源代码提交表单 182 10.1.3 逆向工程提交表单 185 10.2 模拟登录 187 10.2.1 Cookie概述 187 10.2.2 提交Cookie模拟登录 187 10.3 综合案例1——爬取拉勾网招聘信息 188 10.3.1 爬虫思路分析 188 10.3.2 爬虫代码及分析 193 10.4 综合案例2——爬取新浪微博好友圈信息 195 10.4.1 词云制作 195 10.4.2 爬虫思路分析 202 10.4.3 爬虫代码及分析 206 第11章 Selenium模拟浏览器 209 11.1 Selenium和PhantomJS 209 11.1.1 Selenium的概念和安装 209 11.1.2 浏览器的选择和安装 209 11.2 Selenium和PhantomJS的配合使用 213 11.2.1 模拟浏览器操作 213 11.2.2 获取异步加载数据 215 11.3 综合案例1——爬取QQ空间好友说说 218 11.3.1 CSV文件读取 218 11.3.2 爬虫思路分析 220 11.3.3 爬虫代码及分析 221 11.4 综合案例2——爬取淘宝商品信息 224 11.4.1 爬虫思路分析 224 11.4.2 爬虫代码及分析 226 第12章 Scrapy爬虫框架 229 12.1 Scrapy的安装和使用 229 12.1.1 Scrapy的安装 229 12.1.2 创建Scrapy项目 233 12.1.3 Scrapy文件介绍 235 12.1.4 Scrapy爬虫编写 237 12.1.5 Scrapy爬虫运行 239 12.2 综合案例1——爬取简书网热门专题信息 240 12.2.1 爬虫思路分析 240 12.2.2 爬虫代码及分析 244 12.3 综合案例2——爬取知乎网Python精华话题 246 12.3.1 爬虫思路分析 246 12.3.2 爬虫代码及分析 248 12.4 综合案例3——爬取简书网专题收录文章 250 12.4.1 爬虫思路分析 251 12.4.2 爬虫代码及分析 254 12.5 综合案例4——爬取简书网推荐信息 257 12.5.1 爬虫思路分析 258 12.5.2 爬虫代码及分析 260 |