猜你喜欢
Python网络爬虫实战

Python网络爬虫实战

书籍作者:胡松涛 ISBN:9787302457879
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9328
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

  《Python 网络爬虫实战》从Python的安装开始,详细讲解了Python从简单程序延伸到Python网络爬虫的全过程。本书从实战出发,根据不同的需求选取不同的爬虫,有针对性地讲解了几种Python网络爬虫。

  本书共8章,涵盖的内容有Python语言的基本语法、Python常用IDE的使用、Python第三方模块的导入使用、Python爬虫常用模块、Scrapy爬虫、Beautiful Soup爬虫、Mechanize模拟浏览器和Selenium模拟浏览器。本书所有源代码已上传网盘供读者下载。

  本书内容丰富,实例典型,实用性强。适合Python网络爬虫初学者、数据分析与挖掘技术初学者,以及高校及培训学校相关专业的师生阅读。


作者简介

  胡松涛,高级工程师,参与多个Linux开源项目,github知名代码分享者,活跃于国内著名的多个开源论坛。出版图书《树莓派开发从零开始学--超好玩的智能小硬件制作书》。

前言

  前 言

  计算机技术飞速发展,人们对计算机使用技能的要求也越来越高。在编写软件时,大家既希望有超高的效率,又希望这门语言简单易用。这种鱼与熊掌皆得的要求的确很高,Python编程语言恰好符合这么苛刻的要求。

  Python的执行效率仅比效率之王C略差一筹,在简单易用方面Python也名列三甲。可以说Python在效率和简单之间达到了平衡。另外,Python还是一门胶水语言,可以将其他编程语言的优点融合在一起,达到1+1>2的效果。这也是Python如今使用人数越来越多的原因。

  Python语言发展迅速,在各行各业都发挥独特的作用。在各大企业、学校、机关都运行着Python明星程序。但就个人而言,运用Python最多的还是网络爬虫(这里的爬虫仅涉及从网页提取数据,不涉及深度、广度算法爬虫搜索)。在网络上经常更新的数据,无须每次都打开网页浏览,使用爬虫程序,一键获取数据,下载保存后分析。考虑到Python爬虫在网络上的资料虽多,但大多都不成系统,难以提供系统有效的学习。因此笔者抛砖引玉,编写了这本有关Python网络爬虫的书,以供读者学习参考。

  Python简单易学,Python爬虫也不复杂。只需要了解了Python的基本操作即可自行编写。本书中介绍了几种不同类型的Python爬虫,可以针对不同情况的站点进行数据收集。

  本书特色

  附带全部源代码

  为了便于读者理解本书内容,作者已将全部的源代码上传到网络,供读者下载使用。读者通过代码学习开发思路,精简优化代码。

  涵盖了Linux&Windows上模块的安装配置

  本书包含了Python模块源的配置、模块的安装,以及常用IDE的使用。

  实战实例

  通过常用的实例,详细说明网络爬虫的编写过程。

  本书结构

  本书共8章,前面4章简单地介绍了Python的基本用法和简单Python程序的编写。第5章的Scrapy爬虫框架主要针对一般无须登录的网站,在爬取大量数据时使用Scrapy会很方便。第6章的Beautiful Soup爬虫可以算作爬虫的“个人版”。Beautiful Soup爬虫主要针对一些爬取数据比较少的,结构简单的网站。第7章的Mechanize模块,主要功能是模拟浏览器。它的作用主要是针对那些需要登录验证的网站。第8章的Selenium模块,主要功能也是模拟浏览器,它的作用主要是针对JavaScript返回数据的网站。

  本书读者与作者

  Python网络爬虫初学者

  数据分析与挖掘技术初学者

  高校和培训学校相关专业的师生

  本书由胡松涛主笔,其他参与编写的有宋士伟、张倩、彭霁、杨旺功、邹瑛、王铁民、殷龙、李春城、张兴瑜、刘祥淼、李柯泉、林龙、赵殿华、牛晓云。

  编 者

  2016年11月

目录

第1章 Python环境配置 1

1.1 Python简介 1

1.1.1 Python的历史由来 1

1.1.2 Python的现状 2

1.1.3 Python的应用 2

1.2 Python开发环境配置 4

1.2.1 Windows下安装Python 4

1.2.2 Windows下安装配置pip 9

1.2.3 Linux下安装Python 10

1.2.4 Linux下安装配置pip 12

1.2.5 永远的开始:hello world 15

1.3 本章小结 20

第2章 Python基础 21

2.1 Python变量类型 21

2.1.1 数字 21

2.1.2 字符串 24

2.1.3 列表 28

2.1.4 元组 34

2.1.5 字典 36

2.2 Python语句 40

2.2.1 条件语句——if else 40

2.2.2 有限循环——for 41

2.2.3 无限循环——while 43

2.2.4 中断循环——continue、break 45

2.2.5 异常处理——try except 47

2.2.6 导入模块——import 49

2.3 函数和类 53

2.3.1 函数 53

2.3.2 类 59

2.4 Python代码格式 65

2.4.1 Python代码缩进 65

2.4.2 Python命名规则 66

2.4.3 Python代码注释 68

2.5 Python调试 70

2.5.1 Windows下IDLE调试 70

2.5.2 Linux下pdb调试 73

2.6 本章小结 77

第3章 简单的Python脚本 78

3.1 九九乘法表 78

3.1.1 Project分析 78

3.1.2 Project实施 78

3.2 斐波那契数列 80

3.2.1 Project分析 80

3.2.2 Project实施 80

3.3 概率计算 81

3.3.1 Project分析 81

3.3.2 Project实施 82

3.4 读写文件 83

3.4.1 Project分析 83

3.4.2 project实施 84

3.5 本章小结 85

第4章 Python爬虫常用模块 86

4.1 Python标准库之urllib2模块 86

4.1.1 urllib2请求返回网页 86

4.1.2 urllib2使用代理访问网页 88

4.1.3 urllib2修改header 91

4.2 Python标准库——logging模块 95

4.2.1 简述logging模块 95

4.2.2 自定义模块myLog 99

4.3 其他有用模块 102

4.3.1 re模块(正则表达式操作) 102

4.3.2 sys模块(系统参数获取) 105

4.3.3 time模块(获取时间信息) 106

4.4 本章小结 110

第5章 Scrapy爬虫框架 111

5.1 安装Scrapy 111

5.1.1 Windows下安装Scrapy环境 111

5.1.2 Linux下安装Scrapy 112

5.1.3 vim编辑器 113

5.2 Scrapy选择器XPath和CSS 114

5.2.1 XPath选择器 114

5.2.2 CSS选择器 117

5.2.3 其他选择器 118

5.3 Scrapy爬虫实战一:今日影视 118

5.3.1 创建Scrapy项目 119

5.3.2 Scrapy文件介绍 120

5.3.3 Scrapy爬虫编写 123

5.4 Scrapy爬虫实战二:天气预报 129

5.4.1 项目准备 130

5.4.2 创建编辑Scrapy爬虫 131

5.4.3 数据存储到json 138

5.4.4 数据存储到MySQL 140

5.5 Scrapy爬虫实战三:获取代理 146

5.5.1 项目准备 146

5.5.2 创建编辑Scrapy爬虫 147

5.5.3 多个Spider 153

5.5.4 处理Spider数据 157

5.6 Scrapy爬虫实战四:糗事百科 159

5.6.1 目标分析 159

5.6.2 创建编辑Scrapy爬虫 160

5.6.3 Scrapy项目中间件——添加headers 161

5.6.4 Scrapy项目中间件——添加proxy 165

5.7 scrapy爬虫实战五:爬虫攻防 167

5.7.1 创建一般爬虫 167

5.7.2 封锁间隔时间破解 171

5.7.3 封锁Cookies破解 171

5.7.4 封锁user-agent破解 171

5.7.5 封锁IP破解 174

5.8 本章小结 177

第6章 Beautiful Soup爬虫 178

6.1 安装Beautiful Soup环境 178

6.1.1 Windows下安装Beautiful Soup 178

6.1.2 Linux下安装Beautiful Soup 179

6.1.3 最强大的IDE——Eclipse 179

6.2 BeautifulSoup解析器 188

6.2.1 bs4解析器选择 188

6.2.2 lxml解析器安装 189

6.2.3 使用bs4过滤器 190

6.3 bs4爬虫实战一:获取百度贴吧内容 196

6.3.1 目标分析 196

6.3.2 项目实施 197

6.3.3 代码分析 205

6.3.4 Eclipse调试 206

6.4 bs4爬虫实战二:获取双色球中奖信息 207

6.4.1 目标分析 207

6.4.2 项目实施 210

6.4.3 保存结果到Excel 214

6.4.4 代码分析 221

6.5 bs4爬虫实战三:获取起点小说信息 221

6.5.1 目标分析 222

6.5.2 项目实施 223

6.5.3 保存结果到MySQL 226

6.5.4 代码分析 230

6.6 bs4爬虫实战四:获取电影信息 230

6.6.1 目标分析 230

6.6.2 项目实施 232

6.6.3 bs4反爬虫 235

6.6.4 代码分析 237

6.7 bs4爬虫实战五:获取音悦台榜单 238

6.7.1 目标分析 238

6.7.2 项目实施 239

6.7.3 代码分析 244

6.8 本章小结 245

第7章 Mechanize模拟浏览器 246

7.1 安装Mechanize模块 246

7.1.1 Windows下安装Mechanize 246

7.1.2 Linux下安装Mechanize 247

7.2 Mechanize 测试 248

7.2.1 Mechanize百度 248

7.2.2 Mechanize光猫F460 251

7.3 Mechanize实站一:获取Modem信息 254

7.3.1 获取F460数据 254

7.3.2 代码分析 257

7.4 Mechanize实战二:获取音悦台公告 258

7.4.1 登录原理 258

7.4.2 获取Cookie的方法 259

7.4.3 获取Cookie 262

7.4.4 使用Cookie登录获取数据 266

7.5 本章总结 270

第8章 Selenium模拟浏览器 271

8.1 安装Selenium模块 271

8.1.1 Windows下安装Selenium模块 271

8.1.2 Linux下安装Selenium模块 272

8.2 浏览器选择 272

8.2.1 Webdriver支持列表 272

8.2.2 Windows下安装PhantomJS 273

8.2.3 Linux下安装PhantomJS 276

8.3 Selenium&PhantomJS抓取数据 277

8.3.1 获取百度搜索结果 277

8.3.2 获取搜索结果 280

8.3.3 获取有效数据位置 282

8.3.4 从位置中获取有效数据 284

8.4 Selenium&PhantomJS实战一:获取代理 285

8.4.1 准备环境 285

8.4.2 爬虫代码 287

8.4.3 代码解释 289

8.5 Selenium&PhantomJS实战二:漫画爬虫 289

8.5.1 准备环境 290

8.5.2 爬虫代码 291

8.5.3 代码解释 294

8.6 本章总结 294


标签
爬虫