搜索
首页
我要提问
随便写写
我要写书
《Python网络爬虫从入门到实践》
价格:免费
状态:全书已完结
在读人数:49
热度:1801
开始阅读
加入书架
创建者
走过的路
22 粉丝 48博客
关注
打赏
内容简介
《Python 网络爬虫从入门到实践》一书适用于Python 爬虫入门学习的读者,书中全面介绍了使用Python进行网络爬虫开发的入门必备知识,本书从学习与应用的角度出发,帮助读者快速掌握网络爬虫的各项技能。
全书共17 章,包括初识网络爬虫、了解Web 前端、多种网络请求模块、网页数据的多种解析方式、爬取动态渲染的信息、多线程与多进程爬虫、数据处理与存储、App 抓包工具、识别验证码、Scrapy 爬虫框架、Scrapy-Redis 分布式爬虫以及可视化爬虫:数据侦探项目。本书侧重爬虫技术的实战应用,包含125 个典型应用示例、2 个实用案例,最后提供了一个综合实战项目,书中所有实例和项目都提供了程序源码,力求为读者打造一本学习入门+ 应用+ 实践一体化的精彩的Python 网络爬虫图书。
本书不仅适合初学者、入行数据采集人员、与数据打交道(从事与数据相关)、对数据感兴趣的人员,还适合从事其他岗位想掌握一定的数据采集能力的职场人员。
章节目录
第一章 初识网络爬虫
1.1 什么是网络爬虫
网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。认识爬虫 我们所熟悉的一系列搜索引擎都是大型的网络爬虫,比如百度、搜狗、
1.2 网页是怎样构成的
爬虫程序之所以可以抓取数据,是因为爬虫能够对网页进行分析,并在网页中提取出想要的数据。在学习 Python 爬虫模块前,我们有必要先熟悉网页的基本结构,这是编写爬虫程序的必备知识。 备注:如果您熟悉前端
1.3 静态网页和动态网页
本节我们了解一下静态网页和动态网页的相关概念。如果您熟悉前端语言的话,那么您可以快速地了解本节知识。当我们在编写一个爬虫程序前,首先要明确待爬取的页面是静态的,还是动态的,只有确定了页面类型,才方便后续对网页进行分析和程序编写。对于不同的网页类型,编写爬虫程序时所使用的方法也不尽相同。静态网页 静态网页
1.4 如何审查网页元素
对于一个优秀的爬虫工程师而言,要善于发现网页元素的规律,并且能从中提炼出有效的信息。因此,在动手编写爬虫程序前,必须要对网页元素进行审查。本节将讲解如何使用“浏览器”审查网页元素。浏览器都自带检查元素的功能,不同的浏览器对该功能的叫法不同, 谷歌(Chrome)浏览器称为“检查”,而 Firefox 则称“查看元素”,尽管如此,但它们的
1.5 学习Python爬虫前的准备工作
在使用 Python 编写爬虫程序之前,您需要提前做一些准备工作,这样在后续学习过程中才会得心应手。 知识准备 1) Python语言 Python 爬虫作为 Python 编程的进阶知识,要求学习者具备较好的 Python 编程基础。对于没有基础的小伙伴而言,建议阅读《Python基础教程》,这
第二章 Python爬虫基础应用
2.1 第一个Python爬虫程序
本节编写一个最简单的爬虫程序,作为学习 Python 爬虫前的开胃小菜。下面使用 Python 内置的 urllib 库获取网页的 html 信息。注意,urllib 库属于 Python 的标准库模块,无须单独安装,它是 Python 爬虫的常
2.2 User-Agent(用户代理)是什么
User-Agent 即用户代理,简称“UA”,它是一个特殊字符串头。网站服务器通过识别 “UA”来确定用户所使用的操作系统版本、CPU 类型、浏览器版本等信息。而网站服务器则通过判断 UA 来给客户端发送不同
2.3 构建User-Agnet代理池
在编写爬虫程序时,一般都会构建一个 User-Agent (用户代理)池,就是把多个浏览器的 UA 信息放进列表中,然后再从中随机选择。构建用户代理池,能够避免总是使用一个 UA 来访问网站,因为短时间内总使用一
2.4 URL编码/解码详解
当 URL 路径或者查询参数中,带有中文或者特殊字符的时候,就需要对 URL 进行编码(采用十六进制编码格式)。URL 编码的原则是使用安全字符去表示那些不安全的字符。安全字符,指的是没有特殊用途或者特殊意义的字符。URL基本组成 URL 是由一些简单的组件构成,比如协议、域名、
2.5 Python爬虫抓取网页
本节讲解第一个 Python 爬虫实战案例:抓取您想要的网页,并将其保存至本地计算机。 首先我们对要编写的爬虫程序进行简单地分析,该程序可分为以下三个部分: 1.拼接 url 地址 2.发送请求 3.将照片保存至本地明确逻辑后,我们就可以正式编写爬虫程序了。导入所需模块 本节内容使用 urllib 库来编写爬虫,下面导入程序所用模块: from urllib import request fro
2.6 Python爬虫抓取百度贴吧数据
本节继续讲解 Python 爬虫实战案例:抓取百度贴吧(https://tieba.baidu.com/)页面,比如 Python爬虫吧、编程吧,只抓取贴吧的前 5 个页面即可。本节我们将使用面向对象的编程方法来编写程序。判断页面类型 通过简单的分析可以得知,待抓取的百度贴吧页面属于静
2.7 好的爬虫离不开正则表达式
正则表达式(regular expression)是一种字符串匹配模式或者规则,它可以用来检索、替换那些符合特定规则的文本。正则表达式几乎适用于所有编程语言,无论是前端语言 JavaScript,还是诸如许多后端语言,比如 Python、Java、C# 等,这些语言都提供了相应的函数、模块来支持正则表达式,比如 Python 的 re 模块就提供了正
2.8 Python re模块用法详解
在 Python 爬虫过程中,实现网页元素解析的方法有很多,正则解析只是其中之一,常见的还有 BeautifulSoup 和 lxml,它们都支持网页 HTML 元素的解析操作。本节重点讲解如何使用 re 正则解析模块实现网页信息的提取。 注意:在学习本节知识
2.9 Python csv模块(读写文件)
CSV 文件又称为逗号分隔值文件,是一种通用的、相对简单的文件格式,用以存储表格数据,包括数字或者字符。CSV 是电子表格和数据库中最常见的输入、输出文件格式。通过爬虫将数据抓取的下来,然后把数据保存在文件,或者数据库中,这个过程称为数据的持久化存储。本节介绍 Python 内置模块 CSV 的读写操作。CSV文件写入 1) csv.writer() csv 模块中的 w
2.10 Python爬虫抓取猫眼电影排行榜
本节使用 Python 爬虫抓取猫眼电影网 TOP100 排行榜(https://maoyan.com/board/4)影片信息,包括电影名称、上映时间、主演信息。在开始编写程序之前,首先要确定页面类型(静态页面或动态页面),其次找出页面
2.11 Python使用mysql实现数据存储
Python 连接并操作 MySQL 数据库,主要通过 Pymysql 模块实现。本节讲解如何将抓取的数据存储至 MySQL 数据库。 提示:在学习本节知识之前,您已经掌握了 SQL 语言的基本语法。创建存储数据表 首先您应该确定您
2.12 Python爬虫:抓取多级页面数据
前面讲解的爬虫案例都是单级页面数据抓取,但有些时候,只抓取一个单级页面是无法完成数据提取的。本节讲解如何使用爬虫抓取多级页面的数据。在爬虫的过程中,多级页面抓取是经常遇见的。下面以抓取二级页面为例,对每级页面的作用进行说明: .一级页面提供了获取二级页
2.13 Python Requests库安装和使用
Python 提供了多个用来编写爬虫程序的库,除了前面已经介绍的 urllib 库之外,还有一个很重的 Requests 库,这个库的宗旨是“让 HTTP 服务于人类”。Requests 是 Python 的第三方库,它的安装非常简便,
2.14 Python爬虫抓取网络照片
本节编写一个快速下载照片的程序,通过百度图片下载您想要的前 60 张图片,并将其保存至相应的目录。本节实战案例是上一节《Python Request库安装和使用》图片下载案例的延伸。 分析url规律 打开百度图片翻页版(点击访问),该翻页版网址要妥善保留。其 url
第三章Python爬虫高级应用
3.1 Requests库常用方法及参数介绍
Requests 库中定义了七个常用的请求方法,这些方法各自有着不同的作用,在这些请求方法中 requests.get() 与 requests.post() 方法最为常用。请求方法如下所示:上述方法都提供了相同的参数,其中某些参数已经使用过,比如headers和params,前者用来构造请求头,后者用来构建查
3.2 Proxy SwitchyOmega安装和使用
Proxy SwitchyOmega 是一款非常优秀的浏览器插件,适用于 Chrome 和 Firefox,它可以轻松快捷地管理和切换 IP 代理。 下载安装插件 Proxy SwitchyOmega 下载安装非常简单,除了通过 Chrome 应用商店安装之外,还可以直接访问官方网站下载相应的版本,网址为:https://proxy-s
3.3 Xpath简明教程
在编写爬虫程序的过程中提取信息是非常重要的环节,但是有时使用正则表达式无法匹配到想要的信息,或者书写起来非常麻烦,此时就需要用另外一种数据解析方法,也就是本节要介绍的 Xpath 表达式。 Xpath表达式 XPath(全称:XML Path Language)即 XML 路径语言,它是一门在 XML 文档中查找信息的语言,最初被用来搜寻 XML 文档,同时它也适用于搜索 HTM
3.4 Xpath Helper的安装和使用
为了帮助大家快速掌握 Xpath 表达式的使用,这里给大家推荐一款 Xpath 表达式匹配助软件,它就是 Xpath Helper。 Xpath Helper介绍 Xpath Helper 是一款谷歌应用商店推出的免费工具,因此您需要在谷歌商店进行下载。下载完毕后,谷歌浏览器会将其作为插件自动安装在扩展程序中,
3.5 Python lxml库的安装和使用
lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 Xpath 表达式提供了良好的支持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 安装lxml库 lxml 属于 Python 第三方
3.6 Python lxml解析库实战应用
本节通过编写一个简单的爬虫程序,进一步熟悉 lxml 解析库的使用。下面使用 lxml 库抓取猫眼电影 Top100 榜(点击访问),编写程序的过程中,注意与《Python爬虫抓取猫眼电影排行榜》中使用的正则解析方式对比,这样您会发现 lxml 解析库是如此的方便。确定信息元素结构 首先明确要抓取信息的网页元素
3.7 Python爬虫抓取链家二手房数据
本节使用 Python 爬虫库完成链家二手房(https://bj.lianjia.com/ershoufang/rs/)房源信息抓取,包括楼层、区域、总价、单价等信息。在编写此程序的过程中,您将体会到 lxml 解析库的实际应用。 编写程序流程分
3.8 浏览器实现抓包过程详解
几乎所有浏览器都提供了抓取数据包的功能,因为浏览器为抓包提供了一个专门的操作界面,因此这种抓包方式也被称为“控制台抓包”。本节以 Chrome 浏览器为例进行抓包演示。 备注:控制台抓包指的是利用浏览器
3.9 Python爬虫破解有道翻译
有道翻译是以异步方式实现数据加载的,要实现对此类网站的数据抓取,其过程相对繁琐,本节我以有道翻译为例进行详细讲解。上一节《浏览器实现抓包过程详解》,通过控制台抓包,我们得知了 POST 请求的参数以及相应的参数值,如下所示:图1:有道翻译POST请求参数
3.10 Python爬虫抓取动态加载数据
本节讲解如何抓取豆瓣电影“分类排行榜”中的电影数据(https://movie.douban.com/chart),比如输入“犯罪”则会输出所有犯罪影片的电影名称、评分,效果如下所示: 剧情|喜剧|动作|爱情|科幻|动画|悬疑|惊悚|恐怖|纪录片|短片|情色|同性|音乐|歌舞|家庭|儿童|传记|历史|战争|犯罪|西部|奇幻|冒
3.11 Python json模块常用方法
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,遵循欧洲计算机协会制定的 JavaScript 规范(简称 ECMAScript)。JSON 易于人阅读和编写,同时也易于机器解析和生成,能够有效的提升网信息的传输效率,因此它常被作为网络、程序之间传递信息的标准语言,比如客户端与服务器之间信息交互就是以 JSON 格式传递的。简单地说,JSON
3.12 Python爬虫实现Cookie模拟登录
在使用爬虫采集数据的规程中,我们会遇到许多不同类型的网站,比如一些网站需要用户登录后才允许查看相关内容,如果遇到这种类型的网站,又应该如何编写爬虫程序呢?Cookie 模拟登录技术成功地解决了此类问题。Cookie 是一个记录了用户登录状态以及用户属性的加密字符串。当你第一次登陆
3.13 Python多线程爬虫详解
网络爬虫程序是一种 IO 密集型程序,程序中涉及了很多网络 IO 以及本地磁盘 IO 操作,这些都会消耗大量的时间,从而降低程序的执行效率,而 Python 提供的多线程能够在一定程度上提升 IO 密集型程序的执行效率。 如果想学习 Pyt
3.14 Python BS4解析库用法详解
Beautiful Soup 简称 BS4(其中 4 表示版本号)是一个 Python 第三方库,它可以从 HTML 或 XML 文档中快速地提取指定的数据。Beautiful Soup 语法简单,使用
3.15 Pyhon爬虫下载小说
本节通过具体的爬虫程序,演示 BS4 解析库的实际应用。爬虫程序目标:下载诗词名句网(https://www.shicimingju.com/book/)《两晋演义》小说。关于分析网页分过程,这里不再做详细介绍了,只要通读了前面的文章,那么关于如何分析网页,此时您应该了然于胸了。其实,无论您爬取什么类型的网站,分析过程总是相似的。案例简单分析 首先判网
3.16 Python Selenium的下载和安装
Selenium 是一个用于测试 Web 应用程序的自动化测试工具,它直接运行在浏览器中,实现了对浏览器的自动化操作,它支持所有主流的浏览器,包括 IE,Firefox,Safari,Chrome 等。Selenium 支持所有主流平台(如,Windows、Linux、IOS、Android、Edge、Opera等),同时,它也实现了诸多自动化功能,比如
3.17 Python Selenium基本用法
Selenium 作为一款 Web 自动化测试框架,提供了诸多操作浏览器的方法,本节对其中的常用方法做详细介绍。 定位节点 Selenium 提供了 8 种定位单个节点的方法,如下所示:假设下面代码某个页面的代码片段,如下所示: <html> <head> <body link="#cc0916"><a id=&quo
3.18 Python Selenium爬虫实战应用
本节讲解 Python Selenium 爬虫实战案例,通过对实战案例的讲解让您进一步认识 Selenium 框架。实战案例目标:抓取京东商城(https://www.jd.com/)商品名称、商品价格、
3.19 Python Scrapy爬虫框架详解
Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架,该框架使用纯 Python 语言编写。Scrapy 框架应用广泛,常用于数据采集、网络监测,以及自动化测试等。 提示:Twisted 是一个基于事件驱动的网络引擎框架,同样采用 Python 实现。
3.20 Python Scrapy爬虫框架实战应用
通过上一节《Python Scrapy爬虫框架详解》的学习,您已经对 Scrapy 框架有了一个初步的认识,比如它的组件构成,配置文件,以及工作流程。本节将通过一个的简单爬虫项目对 Scrapy 框架做进一步介绍。首先看一个简单的示例,比如把 C语言中文网首页的“title”抓取下来,如下所示: &l
附录1
(全书完)
读者评论
你还没登录,点击这里
登录
本书评论
点击加载更多评论
你可能对这些书也感兴趣
《.NET和RabbitMQ实战指南》
开始阅读
《Vue代码规范指南》
开始阅读
《Redis开发与运维教程》
开始阅读
《MongoDB权威指南》
开始阅读
《Vue3中文官方文档》
开始阅读
《Go语言的数据结构与算法之美》
开始阅读
最近这些人在读这本书
年薪过万xxx
0 粉丝 | 0 关注
木有我想要的标签
+加关注
大力海盗
0 粉丝 | 0 关注
菜鸟刚起飞
+加关注
g":"
0 粉丝 | 0 关注
菜鸟刚起飞
+加关注
Sann3
0 粉丝 | 0 关注
菜鸟刚起飞
+加关注
老五
0 粉丝 | 0 关注
菜鸟刚起飞
+加关注
白笙枫客
1 粉丝 | 1 关注
.NET攻城狮
+加关注
清歌终南
0 粉丝 | 1 关注
.NET攻城狮
+加关注
春风初生
0 粉丝 | 0 关注
前端大咖
+加关注