Python网络爬虫从入门到实践第版

使用Python编写网络爬虫程序获取互联网上的大数据是当前的热门专题。本书内容包括三部分:基础部分、进阶部分和项目实践。基础部分(第1~7章)主要介绍爬虫的三个步骤——获取网页、解析网页和存储数据,并通过诸多示例的讲解,让读者能够从基础内容开始系统性地学习爬虫技术,并在实践中提升Python爬虫水平。进阶部分(第8~13章)包括多线程的并发和并行爬虫、分布式爬虫、更换IP等,帮助读者进一步提升爬虫水平。项目实践部分(第14~17章)使用本书介绍的爬虫技术对几个真实的网站进行抓取,让读者能在读完本书后根据自己的需求写出爬虫程序。
作者简介
唐松,康奈尔大学信息科学研究生,高考获全额奖学金就读于香港中文大学计量营销和金融学,毕业后与IBM合作A100项目,为美的、中信等公司实践大数据落地项目,热衷将数据科学与商业结合应用。


目  录
前言
第1章网络爬虫入门1
1.1为什么要学网络爬虫2
1.1.1网络爬虫能带来什么好处2
1.1.2能从网络上爬取什么数据3
1.1.3应不应该学爬虫3
1.2网络爬虫是否合法3
1.2.1Robots协议4
1.2.2网络爬虫的约束5
1.3网络爬虫的基本议题6
1.3.1Python爬虫的流程7
1.3.2三个流程的技术实现7
第2章编写第一个网络爬虫9
2.1搭建Python平台10
2.1.1Python的安装10
2.1.2使用pip安装第三方库12
2.1.3使用编辑器Jupyter编程13
2.1.4使用编辑器Pycharm编程15
2.2Python使用入门18
2.2.1基本命令18
2.2.2数据类型19
2.2.3条件语句和循环语句21
2.2.4函数23
2.2.5面向对象编程24
2.2.6错误处理28
2.3编写第一个简单的爬虫29
2.3.1第一步:获取页面29
2.3.2第二步:提取需要的数据30
2.3.3第三步:存储数据32
2.4Python实践:基础巩固33
2.4.1Python基础试题34
2.4.2参考答案35
2.4.3自我实践题38
第3章静态网页抓取39
3.1安装Requests40
3.2获取响应内容40
3.3定制Requests41
3.3.1传递URL参数41
3.3.2定制请求头42
3.3.3发送POST请求43
3.3.4超时44
3.4Requests爬虫实践:TOP250电影数据44
3.4.1网站分析45
3.4.2项目实践45
3.4.3自我实践题47
第4章动态网页抓取48
4.1动态抓取的实例49
4.2解析真实地址抓取50
4.3通过Selenium模拟浏览器抓取55
4.3.1Selenium的安装与基本介绍55
4.3.2Selenium的实践案例57
4.3.3Selenium获取文章的所有评论58
4.3.4Selenium的高级操作61
4.4Selenium爬虫实践:深圳短租数据64
4.4.1网站分析64
4.4.2项目实践66
4.4.3自我实践题69
第5章解析网页70
5.1使用正则表达式解析网页71
5.1.1re.match方法71
5.1.2re.search方法74
5.1.3re.findall方法74
5.2使用BeautifulSoup解析网页76
5.2.1BeautifulSoup的安装76
5.2.2使用BeautifulSoup获取博客标题77
5.2.3BeautifulSoup的其他功能78
5.3使用lxml解析网页82
5.3.1lxml的安装82
5.3.2使用lxml获取博客标题82
5.3.3XPath的选取方法84
5.4总结85
5.5BeautifulSoup爬虫实践:房屋价格数据86
5.5.1网站分析86
5.5.2项目实践87
5.5.3自我实践题89
第6章数据存储90
6.1基本存储:存储至TXT或CSV91
6.1.1把数据存储至TXT91
6.1.2把数据存储至CSV93
6.2存储至MySQL数据库94
6.2.1下载安装MySQL95
6.2.2MySQL的基本操作99
6.2.3Python操作MySQL数据库104
6.3存储至MongoDB数据库106
6.3.1下载安装MongoDB107
6.3.2MongoDB的基本概念110
6.3.3Python操作MongoDB数据库112
6.3.4RoboMongo的安装与使用113
6.4总结115
6.5MongoDB爬虫实践:虎扑论坛116
6.5.1网站分析116
6.5.2项目实践117
6.5.3自我实践题123
第7章Scrapy框架124
7.1Scrapy是什么125
7.1.1Scrapy架构125
7.1.2Scrapy数据流(DataFlow)126
7.1.3选择Scrapy还是Requests+bs4127
7.2安装Scrapy128
7.3通过Scrapy抓取博客128
7.3.1创建一个Scrapy项目128
7.3.2获取博客网页并保存129
7.3.3提取博客标题和链接数据131
7.3.4存储博客标题和链接数据133
7.3.5获取文章内容134
7.3.6Scrapy的设置文件136
7.4Scrapy爬虫实践:财经新闻数据137
7.4.1网站分析137
7.4.2项目实践138
7.4.3自我实践题141
第8章提升爬虫的速度142
8.1并发和并行,同步和异步143
8.1.1并发和并行143
8.1.2同步和异步143
8.2多线程爬虫144
8.2.1简单的单线程爬虫145
8.2.2学习Python多线程145
8.2.3简单的多线程爬虫148
8.2.4使用Queue的多线程爬虫150
8.3多进程爬虫153
8.3.1使用multiprocessing的多进程爬虫153
8.3.2使用Pool+Queue的多进程爬虫155
8.4多协程爬虫158
8.5总结160
第9章反爬虫问题163
9.1为什么会被反爬虫164
9.2反爬虫的方式有哪些164
9.2.1不返回网页165
9.2.2返回非目标网页165
9.2.3获取数据变难166
9.3如何“反反爬虫”167
9.3.1修改请求头167
9.3.2修改爬虫的间隔时间168
9.3.3使用代理171
9.3.4更换IP地址172
9.3.5登录获取数据172
9.4总结172
第10章解决中文乱码173
10.1什么是字符编码174
10.2Python的字符编码176
10.3解决中文编码问题179
10.3.1问题1:获取网站的中文显示乱码179
10.3.2问题2:非法字符抛出异常180
10.3.3问题3:网页使用gzip压缩181
10.3.4问题4:读写文件的中文乱码182
10.4总结184
第11章登录与验证码处理185
11.1处理登录表单186
11.1.1处理登录表单186
11.1.2处理cookies,让网页记住你的登录190
11.1.3完整的登录代码193
11.2验证码的处理194
11.2.1如何使用验证码验证195
11.2.2人工方法处理验证码197
11.2.3OCR处理验证码200
11.3总结203
第12章服务器采集204
12

#现在前往

精选留言

Python,网络,爬虫,入门
sample
2020-07-25
写留言
签到
投稿
QQ咨询
返回顶部