• 《Python网络爬虫从入门到实践》

  • 价格:免费
  • 状态:全书已完结
  • 在读人数:49
  • 热度:1801
创建者
内容简介
《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
  • (全书完)
读者评论
  • 你还没登录,点击这里
  • 本书评论
最近这些人在读这本书