具体描述
作者简介
目录信息
第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
· · · · · · (收起)
读后感
作为一个初学者来讲讲。 之前并没有怎么接触过程序语言,但是作为一个从事互联网运营工作的人,经常需要从网络上统计数据,知道pyhton可以写爬虫,就来学。 早在2016年就接触了,先学语法,但是语法学了忘,忘了学,最后的类对象那怎么都学不懂了, 看过很多的教程,总是学到一...
作为一个初学者来讲讲。 之前并没有怎么接触过程序语言,但是作为一个从事互联网运营工作的人,经常需要从网络上统计数据,知道pyhton可以写爬虫,就来学。 早在2016年就接触了,先学语法,但是语法学了忘,忘了学,最后的类对象那怎么都学不懂了, 看过很多的教程,总是学到一...
作为一个初学者来讲讲。 之前并没有怎么接触过程序语言,但是作为一个从事互联网运营工作的人,经常需要从网络上统计数据,知道pyhton可以写爬虫,就来学。 早在2016年就接触了,先学语法,但是语法学了忘,忘了学,最后的类对象那怎么都学不懂了, 看过很多的教程,总是学到一...
作为一个初学者来讲讲。 之前并没有怎么接触过程序语言,但是作为一个从事互联网运营工作的人,经常需要从网络上统计数据,知道pyhton可以写爬虫,就来学。 早在2016年就接触了,先学语法,但是语法学了忘,忘了学,最后的类对象那怎么都学不懂了, 看过很多的教程,总是学到一...
作为一个初学者来讲讲。 之前并没有怎么接触过程序语言,但是作为一个从事互联网运营工作的人,经常需要从网络上统计数据,知道pyhton可以写爬虫,就来学。 早在2016年就接触了,先学语法,但是语法学了忘,忘了学,最后的类对象那怎么都学不懂了, 看过很多的教程,总是学到一...
用户评价
我非常欣赏这本书在代码规范和工程实践方面的引导。很多入门教程往往只关注功能的实现,而忽略了代码的可读性和可维护性。但这本书不同,它在讲解代码的时候,非常注重Python的编码风格,比如变量命名的规范、函数的拆分、注释的添加等等。这些看起来是小细节,但对于初学者来说,养成良好的编程习惯至关重要。书中提供的代码示例,不仅仅是能运行,更是遵循了PEP 8等Python社区的推荐规范,让读者在学习过程中就能接触到高质量的代码。此外,它还对一些常见的编程误区进行了提醒和纠正,比如如何避免资源泄露,如何进行异常处理等。这些内容虽然不直接体现在“抓取数据”的功能上,但却是成为一名合格的开发者必备的素养。我记得书中有一个章节专门讨论了如何组织和模块化你的爬虫项目,这让我意识到,即使是简单的爬虫,也需要有一定的结构和规划,以便于日后的扩展和维护。这种对工程实践的重视,让这本书的价值远远超出了“入门”的范畴,它是在为读者打下扎实的开发者基础。
这本书最让我印象深刻的,莫过于它在处理真实世界网络爬虫复杂性方面的考量。很多教程可能只教你如何抓取静态网页,但我们都知道,现在的网站远不止于此。这本书很早就开始探讨动态网页的抓取,比如如何模拟浏览器行为,如何处理JavaScript渲染的内容,这一点对我来说是巨大的突破。它不仅仅停留在理论层面,而是提供了切实可用的解决方案,例如使用Selenium来驱动浏览器进行交互式抓取。我记得书中有一章详细讲解了如何处理AJAX请求,这是很多初学者在抓取数据时遇到的一个难题。作者用非常直观的方式解释了AJAX的工作原理,并提供了相应的Python代码示例,让我能够轻松地理解并应用到自己的项目中。此外,对于一些反爬机制的处理,书中也给出了一些初步的探讨,虽然没有深入到非常复杂的对抗层面,但对于入门者来说,已经足够了解一些常见的反爬手段,并知道如何规避。比如,如何设置User-Agent,如何处理Cookie,如何进行简单的延时操作等。这些细节的处理,让这本书的实用性大大提升,让读者在学习的过程中,就能为未来可能遇到的更复杂的爬虫场景打下基础。它不仅仅是教你“怎么做”,更是让你“理解为什么这么做”,这种深度是我非常看重的。
不得不说,这本书在引导读者构建完整爬虫项目方面的能力,是它的一大亮点。它不是零散地讲解单个技术点,而是通过一系列相互关联的案例,逐步引导读者构建出一个个小型但完整的爬虫项目。从最初的数据采集,到数据的初步清洗和整理,再到最后的数据存储,整个流程都被清晰地呈现出来。我特别喜欢它在数据存储部分的处理,它介绍了多种常用的数据存储方式,比如将数据保存为CSV文件、JSON文件,甚至还触及了简单的数据库操作。这让读者能够看到爬虫的最终价值,即如何将抓取到的原始数据转化为有用的信息。书中的案例设计也很有代表性,涵盖了不同类型的数据源和不同的抓取需求,例如爬取某个电商网站的商品信息,或者抓取某个新闻门户的最新文章。这些案例不仅能帮助读者巩固所学知识,还能激发他们自己去思考和尝试解决实际问题。它鼓励读者在掌握基本技能后,进行二次开发和创新,这种启发式的教学方式,让我在学习过程中充满了探索的动力。我感觉这本书就像是我的一个“爬虫实践伙伴”,它不仅教会了我工具,更教会了我如何思考和解决问题,如何将零散的知识点串联成一个完整的解决方案。
刚拿到这本《从零开始学Python网络爬虫》的时候,其实我心里是有些忐忑的。毕竟“网络爬虫”这个词听起来就带着点技术门槛,而“从零开始”虽然很吸引人,但也容易让人联想到那些晦涩难懂的理论堆砌。不过,翻开第一页,我就被它那种循序渐进、耐心引导的风格给吸引住了。作者没有一开始就丢出一堆代码和专业术语,而是从Python基础讲起,确保即便是完全没有编程经验的读者也能跟上。这一点我非常赞赏,因为很多入门书籍往往会忽略这一点,导致读者在初期就感到挫败。这本书的讲解逻辑清晰,就像是在一点点为你铺平道路,让你在掌握基本概念后,再逐步引入爬虫的核心技术。每讲到一个新的知识点,都会配上生动形象的例子,有时候甚至会用一些生活中的场景来类比,让抽象的概念变得具体易懂。我特别喜欢它在讲解requests库和BeautifulSoup库的部分,没有枯燥的API罗列,而是通过实际抓取网页数据的案例,一步步展示了如何发送请求、解析HTML,以及如何定位和提取你需要的信息。这些案例的选择也很贴近生活,比如抓取天气信息、商品价格等等,能让你立刻感受到学习的价值和乐趣。而且,书中的代码片段都经过精心设计,简洁明了,可以直接复制运行,这对于初学者来说简直是福音,省去了大量调试的时间。总而言之,这本书真的做到了“从零开始”,让编程小白也能勇敢地踏入爬虫的世界,并且在这个过程中感受到学习的乐趣和成就感。
这本书给我最大的感受是,它在保持技术深度的同时,又做到了真正的“亲民”。它没有回避爬虫开发中可能遇到的各种挑战,比如网络请求的稳定性、数据解析的准确性、以及对目标网站的友好性等问题,但它处理这些问题的角度非常巧妙。它不是将这些问题包装成高不可攀的技术难题,而是用一种非常接地气的方式来解释,并提供清晰的解决思路。例如,在讲解反爬机制时,它会先说明为什么会有反爬,然后列举几种常见的反爬策略,最后再给出相应的应对方法。这种循序渐进、由浅入深的讲解方式,让我感觉自己不是在被动地接受知识,而是在主动地参与到解决问题的过程中。而且,书中的语言风格也相当轻松幽默,读起来不会觉得枯燥乏味。作者常常会在讲解中穿插一些自己的经验和体会,让整个阅读过程充满人情味。这种把技术和人文关怀结合在一起的风格,让这本书在众多技术书籍中脱颖而出。它让我觉得,学习爬虫不仅仅是一项技能的训练,更是一次充满乐趣的探索过程。
不错 很基础
不错 很基础
很基础的知识框架,Python爬虫相关的工具方法都提到了,但理论知识点到为止,不够详细。优点:爬虫实例很多,有代码,容易上手和理解爬虫用到的工具。 此书是一本和书名完全契合的、从零开始入门Python爬虫的书。 DIY笔记:https://github.com/huankiki/DataProcBeginner/blob/master/crawler_python_from_scratch/crawler_python_from_scratch.ipynb
适合入门
找到源代码在一跑,没有一个对的,= =