书籍 Python网络爬虫技术与实战的封面

Python网络爬虫技术与实战PDF电子书下载

赵国生,王健

购买点数

15

出版社

出版时间

2021

ISBN

标注页数

460 页

PDF页数

473 页

图书目录

第1章 Python环境搭建及基础学习 1

1.1 Python 3.6的安装与配置 1

1.1.1 Windows下的安装 1

1.1.2 Linux下的安装 5

1.1.3 macOS下的安装 6

1.2 IDE工具:PyCharm的安装 7

1.3基础语法 11

1.3.1第一个Python程序 11

1.3.2 Python命名规范 13

1.3.3行和缩进 15

1.3.4注释和续行 15

1.3.5 Python输出 16

1.4字符串 18

1.4.1字符串运算符 18

1.4.2字符串内置函数 19

1.5数据结构 22

1.5.1列表 22

1.5.2元组 25

1.5.3集合 27

1.5.4字典 29

1.6控制语句 31

1.6.1条件表达式 31

1.6.2选择结构 32

1.6.3循环结构 33

1.7函数、模块和包 36

1.7.1函数 36

1.7.2模块 40

1.7.3包 42

1.8文件的读写操作 45

1.8.1文件读写步骤与打开模式 46

1.8.2文件的基本操作 48

1.8.3文件写入操作 52

1.9面向对象 53

1.9.1类和对象 54

1.9.2封装性 58

1.9.3继承性 59

1.9.4多态性 60

1.10本章小结 61

练习题 61

第2章 爬虫原理和网络基础 62

2.1爬虫是什么 62

2.2爬虫的意义 62

2.3爬虫的原理 64

2.4爬虫技术的类型 66

2.4.1聚焦爬虫技术 66

2.4.2通用爬虫技术 67

2.4.3增量爬虫技术 69

2.4.4深层网络爬虫技术 70

2.5爬虫抓取策略 71

2.5.1深度优先遍历策略 71

2.5.2广度优先遍历策略 71

2.5.3 Partial PageRank策略 72

2.5.4大站优先策略 72

2.5.5反向链接数策略 73

2.5.6 OPIC策略 73

2.6反爬虫和反反爬虫 73

2.6.1反爬虫 73

2.6.2反反爬虫 77

2.7网络基础 79

2.7.1网络体系结构 79

2.7.2网络协议 79

2.7.3 Socket编程 86

2.8本章小结 88

练习题 88

第3章 Python常用库 89

3.1 Python库的介绍 89

3.1.1常用标准库 89

3.1.2安装使用第三方库 91

3.2 urllib库 92

3.2.1 urlopen()函数用法 93

3.2.2 urlretrieve()函数用法 95

3.2.3 URL编码和URL解码 96

3.2.4 urlparse()和urlsplit()函数用法 97

3.3 request库 99

3.3.1 request库的基本使用 99

3.3.2 request库的高级用法 109

3.4 lxml库 113

3.4.1 lxmnl库的安装和使用 113

3.4.2 XPath介绍 114

3.4.3 XPath语法 116

3.4.4 lxml和XPath的结合使用 119

3.5 Beautiful Soup库 122

3.5.1 Beautiful Soup库的安装和使用 123

3.5.2提取数据 125

3.5.3 CSS选择器 131

3.6实战案例 134

3.6.1使用Beautiful Soup解析网页 134

3.6.2微信公众号爬虫 135

3.6.3爬取豆瓣读书TOP500 136

3.6.4使用urllib库爬取百度贴吧 137

3.7本章小结 139

练习题 139

第4章 正则表达式 140

4.1概念介绍 140

4.2正则表达式语法 141

4.2.1正则模式的字符 141

4.2.2运算符优先级 142

4.3匹配规则 143

4.3.1单字符匹配规则 143

4.3.2多字符匹配规则 144

4.3.3边界匹配 146

4.3.4分组匹配 147

4.4 re模块常用函数 150

4.4.1 re.match函数 150

4.4.2 re.search函数 152

4.4.3 re.compile函数 153

4.4.4 re.sub函数 155

4.4.5 re.findall函数 156

4.4.6 re.finditer函数 157

4.4.7 re.split函数 157

4.5本章小结 158

练习题 158

第5章 验证码 159

5.1 PIL库 159

5.1.1 PIL库的安装 159

5.1.2 PIL库的常用函数 160

5.1.3 PIL库的应用 163

5.1.4应用PIL到实际开发 169

5.2 Tesseract库 172

5.2.1 Tesseract库的安装 172

5.2.2 Tesseract库的使用 174

5.2.3 Tesseract库的识别训练 174

5.3 TensorFlow库 180

5.3.1 TensorFlow库的安装 180

5.3.2 TensorFlow基本操作 184

5.3.3 TensorFlow基础架构 186

5.3.4 TensorFlow创建线性回归模型 189

5.3.5 TensorFlow识别知乎验证码 190

5.4 4种验证码的解决思路 191

5.5 OCR处理验证码 194

5.6实战案例 195

5.7本章小结 199

练习题 199

第6章 抓包利器Fiddler 200

6.1 Fiddler简介 200

6.2 Fiddler的安装和配置 200

6.2.1 Fiddler的安装 201

6.2.2 Fiddler的配置 202

6.3 Fiddler捕获会话 205

6.4 QuickExec命令行的使用 207

6.5 Fiddler断点功能 209

6.6 Fiddler的实用工具 210

6.7实战案例 212

6.7.1使用Fiddler抓取数据并分析 212

6.7.2使用Fiddler抓取HTTPS流量 214

6.7.3使用Fiddler抓取手机应用 215

6.8本章小结 219

练习题 219

第7章 数据存储 220

7.1数据的基本存储 220

7.1.1数据存储至TXT 220

7.1.2数据存储至CSV 222

7.1.3数据存储至JSON 223

7.2数据存储至MySQL数据库 227

7.2.1配置MySQL服务 227

7.2.2安装PyMySQL 228

7.2.3创建示例项目 230

7.2.4 PyMySQL基本操作 231

7.3数据存储至MongoDB数据库 231

7.4数据存储至XML 234

7.5常见数据存储方式的比较 235

7.6本章小结 237

练习题 237

第8章 Scrapy爬虫框架 238

8.1 Scrapy框架介绍 238

8.2 Scrapy框架详解 239

8.2.1框架内组件及作用 239

8.2.2 Scrapy运行流程 240

8.2.3数据流向 240

8.3 Scrapy框架中的Selector 240

8.4 Beautiful Soup库的使用 246

8.4.1简单示例 246

8.4.2四大对象种类 247

8.4.3遍历文档树 249

8.4.4搜索文档树 249

8.4.5 CSS选择器 253

8.5 CrawlSpider的使用 254

8.5.1 Spider的简单用法 254

8.5.2 CrawlSpider概述 254

8.5.3使用CrawlSpider获取rules 256

8.5.4使用CrawlSpider进行模拟登录 257

8.6 Scrapy Shell的使用 257

8.6.1启动Scrapy Shell 258

8.6.2功能函数 258

8.6.3 Scrapy对象 258

8.6.4 Scrapy Shell示例 258

8.7 Scrapyrt的使用 259

8.7.1 GET请求 259

8.7.2 POST请求 261

8.8 Scrapy对接Selenium 262

8.9实战案例 264

8.9.1 Scrapy知乎信息爬取 264

8.9.2 Scrapy微博信息爬取 268

8.9.3 Scrapy机票信息爬取 272

8.10本章小结 274

练习题 274

第9章 多线程爬虫 275

9.1多线程和Threading模块 275

9.1.1多线程定义和特点 275

9.1.2 Threading模块 276

9.2使用Thread类创建实例 277

9.2.1可传递函数的Thread类实例 277

9.2.2可调用的Thread类实例 278

9.2.3派生Thread子类 279

9.3多线程方法的使用 280

9.3.1多线程创建 280

9.3.2多线程冲突及解决 283

9.3.3使用Semaphore调度线程 285

9.3.4生产者-消费者模式 286

9.3.5共享全局变量及锁机制 288

9.4 Queue线程安全队列 289

9.5实战案例 291

9.5.1多线程爬取糗事百科 292

9.5.2多线程爬取网站图片 296

9.6本章小结 298

练习题 298

第10章 动态网页爬虫 299

10.1浏览器开发者工具 299

10.1.1调试工具的介绍 299

10.1.2调试工具的使用示例 306

10.2异步加载技术 309

10.2.1异步加载技术介绍 309

10.2.2 AJAX数据爬取 310

10.3表单交互与模拟登录 314

10.3.1表单交互 314

10.3.2模拟登录 315

10.4 Selenium模拟浏览器 316

10.4.1 Selenium操作浏览器 316

10.4.2 Selenium和ChromeDriver的配合使用 332

10.5实战案例 337

10.5.1 Selenium职位信息爬取 338

10.5.2 Selenium直播平台数据爬取 339

10.6本章小结 341

练习题 341

第11章 分布式爬虫 342

11.1分布式爬虫概述 342

11.1.1主从分布式爬虫 343

11.1.2对等分布式爬虫 343

11.2 Scrapy-redis分布式组件 345

11.2.1 Scrapy-redis简介 346

11.2.2 Scrapy-redis工作机制 348

11.2.3 Scrapy-redis安装配置 349

11.2.4 Scrapy-redis常用配置 356

11.2.5 Scrapy-redis键名介绍 357

11.2.6 Scrapy-redis简单示例 357

11.3 redis数据库 358

11.4 Scrapy-redis源码分析 364

11.5通过scrapy_redis实现分布式爬虫 369

11.6实战案例 371

11.7本章小结 376

练习题 377

第12章 电商网站商品信息爬虫项目 378

12.1商品信息爬虫功能分析 378

12.1.1商品信息爬虫接口分析 378

12.1.2商品信息爬虫页面分析 380

12.2商品信息爬虫实现思路 380

12.2.1 Selenium环境配置 380

12.2.2 pyquery环境配置 381

12.3电商网站商品信息编写实战 381

12.3.1获取电商网站商品信息列表 381

12.3.2电商网站商品信息列表解析 383

12.3.3保存爬取的商品信息 385

12.3.4电商网站商品信息的页码遍历 386

12.4 pyquery解析电商网站商品信息 388

12.4.1 pyquery调用CSS选择器 389

12.4.2 pyquery使用parent()获取父节点 391

12.4.3 pyquery遍历商品信息 393

12.4.4 pyquery获取商品信息内部文本 395

12.4.5 CSS选择器 398

12.5运行代码 399

12.5.1爬虫的Chrome Headless模式 400

12.5.2爬虫对接Firefox 400

12.5.3爬虫对接PhantomJS 400

12.6本章小结 401

练习题 401

第13章 生活娱乐点评类信息爬虫项目 402

13.1功能分析 402

13.1.1项目描述 402

13.1.2静态网页抓取 402

13.1.3动态网页抓取 404

13.2请求-响应关系 410

13.2.1请求对象 410

13.2.2请求方法 410

13.3请求头和请求体 411

13.3.1请求头 412

13.3.2响应 412

13.3.3保存响应结果 412

13.4通过Selenium模拟浏览器抓取 413

13.4.1 Selenium的安装 413

13.4.2 Selenium的实践案例 414

13.4.3 Selenium获取文章的所有评论 414

13.5实战演练Scrapy框架实例 415

13.5.1编写spider 416

13.5.2编写item.py 417

13.5.3为items对象赋值 417

13.5.4编写piplines.py 418

13.5.5配置setting.py 418

13.5.6完整代码及结果 419

13.6调试与运行 421

13.7本章小结 422

练习题 422

第14章 图片信息类爬虫项目 423

14.1功能分析 423

14.2实现思路 423

14.2.1 urllib模块的使用 424

14.2.2 Scrapy框架的使用 426

14.3程序执行 429

14.4实战演练图片验证码 429

14.4.1开发环境与工具 429

14.4.2 Anaconda3的安装 430

14.4.3问题步骤 434

14.4.4解决步骤 434

14.4.5图片预处理代码 435

14.4.6图片切割 437

14.4.7 KNN训练 437

14.4.8 CNN加载数据 439

14.4.9训练CNN模型 440

14.4.10 CNN模型预测 442

14.5调试运行 443

14.6本章小结 444

练习题 444

练习题答案 445

查看更多关于的内容

出版社其它书籍
本类热门
在线购买PDF电子书
下载此书RAR压缩包