Scrapy网络爬虫实战

Scrapy网络爬虫实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

Scrapy爬虫框架可以用来高效爬取数据,其自定义扩展灵活,适合用来学习和研究数据爬取技术。

内容简介

随着大数据分析、大数据计算火热兴起,越来越多的企业发布了数据分析岗位,而数据分析的基础则是海量的数据。Python中的Scrapy框架就是为了抓取数据而设计的。本书是一本Scrapy爬虫框架零基础起步的实战图书。

本书共分11章,第1-2章介绍Python环境的搭建、编辑器的使用、爬虫的一些基础知识(urllib、requests、Selenium、Xpath、CSS、正则表达式、BeautifulSoup库)等。第3-8章主要介绍Scrapy框架的原理与使用。第9-11章主要介绍Scrapy的优化,包括内置服务、组件优化等,最后通过一个完整的大型示例对全书的知识点做了应用总结。

本书入门门槛低、浅显易懂,适合所有Scrapy爬虫和数据分析行业的入门读者学习,也适合高等院校和培训学校作为爬虫入门教材和训练手册。

作者简介

作者东郭大猫,常年从事数据相关的工作,擅长用Python进行数据的爬取、分析和存储。使用Python超过5年,做过公司内部的数据爬取培训。

章节目录

版权信息

内容简介

前言

读懂本书

本书特点

示例代码下载

本书适用读者

第1章 Python开发环境的搭建

1.1 Python SDK安装

1.1.1 在Windows上安装Python

1.1.2 在Ubuntu上安装Python

1.2 安装开发工具PyCharm社区版

1.3 安装开发工具Visual Studio社区版

第2章 爬虫基础知识

2.1 爬虫原理

2.1.1 爬虫运行基本流程

2.1.2 HTTP请求过程

2.2 网页分析方法1:浏览器开发人员工具

2.2.1 Elements面板

2.2.2 Network面板

2.3 网页分析方法2:XPath语法

2.3.1 XPath节点

2.3.2 XPath语法

2.3.3 XPath轴

2.3.4 XPath运算符

2.4 网页分析方法3:CSS选择语法

2.4.1 元素选择器

2.4.2 类选择器

2.4.3 ID选择器

2.4.4 属性选择器

2.4.5 后代选择器

2.4.6 子元素选择器

2.4.7 相邻兄弟选择器

2.5 网页分析方法4:正则表达式

2.5.1 提取指定字符

2.5.2 预定义字符集

2.5.3 数量限定

2.5.4 分支匹配

2.5.5 分组

2.5.6 零宽断言

2.5.7 贪婪模式与非贪婪模式

2.5.8 Python中的正则表达式

2.6 爬虫常用类库1:Python中的HTTP基本库urllib

2.6.1 发送请求

2.6.2 使用Cookie

2.7 爬虫常用类库2:更人性化的第三方库requests

2.7.1 发送请求

2.7.2 请求头

2.7.3 响应内容

2.7.4 响应状态码

2.7.5 cookies参数

2.7.6 重定向与请求历史

2.7.7 超时

2.7.8 设置代理

2.7.9 会话对象

2.8 爬虫常用类库3:元素提取利器BeautifulSoup

2.8.1 安装BeautifulSoup

2.8.2 安装解析器

2.8.3 BeautifulSoup使用方法

2.8.4 BeautifulSoup对象

2.8.5 遍历文档树

2.8.6 搜索文档树

2.8.7 BeautifulSoup中的CSS选择器

2.9 爬虫常用类库4:Selenium操纵浏览器

2.9.1 安装Selenium

2.9.2 Selenium的基本使用方法

2.9.3 Selenium Webdriver的原理

2.9.4 Selenium中的元素定位方法

2.9.5 Selenium Webdriver基本操作

2.9.6 Selenium实战:抓取拉钩网招聘信息

2.10 爬虫常用类库5:Scrapy爬虫框架

2.10.1 安装Scrapy

2.10.2 Scrapy简介

2.11 基本爬虫实战:抓取cnBeta网站科技类文章

2.11.1 URL管理器

2.11.2 数据下载器

2.11.3 数据分析器

2.11.4 数据保存器

2.11.5 调度器

第3章 Scrapy命令行与Shell

3.1 Scrapy命令行介绍

3.1.1 使用startproject创建项目

3.1.2 使用genspider创建爬虫

3.1.3 使用crawl启动爬虫

3.1.4 使用list查看爬虫

3.1.5 使用fetch获取数据

3.1.6 使用runspider运行爬虫

3.1.7 通过view使用浏览器打开URL

3.1.8 使用parse测试爬虫

3.2 Scrapy Shell命令行

3.2.1 Scrapy Shell的用法

3.2.2 实战:解析名人名言网站

第4章 Scrapy爬虫

4.1 编写爬虫

4.1.1 scrapy.Spider爬虫基本类

4.1.2 start_requests()方法

4.1.3 parse(response)方法

4.1.4 Selector选择器

4.2 通用爬虫

4.2.1 CrawlSpider

4.2.2 XMLFeedSpider

4.2.3 CSVFeedSpider

4.2.4 SitemapSpider

4.3 爬虫实战

4.3.1 实战1:CrawlSpider爬取名人名言

4.3.2 实战2:XMLFeedSpider爬取伯乐在线的RSS

4.3.3 实战3:CSVFeedSpider提取csv文件数据

4.3.4 实战4:SitemapSpider爬取博客园文章

第5章 Scrapy管道

5.1 管道简介

5.2 编写自定义管道

5.3 下载文件和图片

5.3.1 文件管道

5.3.2 图片管道

5.4 数据库存储MySQL

5.4.1 在Ubuntu上安装MySQL

5.4.2 在Windows上安装MySQL

5.4.3 MySQL基础

5.4.4 MySQL基本操作

5.4.5 Python操作MySQL

5.5 数据库存储MongoDB

5.5.1 在Ubuntu上安装MongoDB

5.5.2 在Windows上安装MongoDB

5.5.3 MongoDB基础

5.5.4 MongoDB基本操作

5.5.5 Python操作MongoDB

5.6 实战:爬取链家二手房信息并保存到数据库

第6章 Request与Response

6.1 Request对象

6.1.1 Request类详解

6.1.2 Request回调函数与错误处理

6.2 Response

6.2.1 Response类详解

6.2.2 Response子类

第7章 Scrapy中间件

7.1 编写自定义Spider中间件

7.1.1 激活中间件

7.1.2 编写Spider中间件

7.2 Spider内置中间件

7.2.1 DepthMiddleware爬取深度中间件

7.2.2 HttpErrorMiddleware失败请求处理中间件

7.2.3 OffsiteMiddleware过滤请求中间件

7.2.4 RefererMiddleware参考位置中间件

7.2.5 UrlLengthMiddleware网址长度限制中间件

7.3 编写自定义下载器中间件

7.3.1 激活中间件

7.3.2 编写下载器中间件

7.4 下载器内置中间件

7.4.1 CookiesMiddleware

7.4.2 HttpProxyMiddleware

7.5 实战:为爬虫添加中间件

第8章 Scrapy配置与内置服务

8.1 Scrapy配置简介

8.1.1 命令行选项(优先级最高)

8.1.2 每个爬虫内配置

8.1.3 项目设置模块

8.1.4 默认的命令行配置

8.1.5 默认全局配置(优先级最低)

8.2 日志

8.3 数据收集

8.4 发送邮件

8.4.1 简单例子

8.4.2 MailSender类

8.4.3 在settings.py中对Mail进行设置

8.5 实战:抓取猫眼电影TOP100榜单数据

8.5.1 分析页面元素

8.5.2 创建项目

8.5.3 编写items.py

8.5.4 编写管道pipelines.py

8.5.5 编写爬虫文件top100.py

第9章 模拟登录

9.1 模拟提交表单

9.2 用Cookie模拟登录状态

9.3 项目实战

9.3.1 实战1:使用FormRequest模拟登录豆瓣

9.3.2 实战2:使用Cookie登录

第10章 Scrapy爬虫优化

10.1 Scrapy+MongoDB实战:抓取并保存IT之家博客新闻

10.1.1 确定目标

10.1.2 创建项目

10.1.3 编写items.py文件

10.1.4 编写爬虫文件news.py

10.1.5 编写管道pipelines.py

10.1.6 编写settings.py

10.1.7 运行爬虫

10.2 用Benchmark进行本地环境评估

10.3 扩展爬虫

10.3.1 增大并发

10.3.2 关闭Cookie

10.3.3 关闭重试

10.3.4 减少下载超时时间

10.3.5 关闭重定向

10.3.6 AutoThrottle扩展

第11章 Scrapy项目实战:爬取某社区用户详情

11.1 项目分析

11.1.1 页面分析

11.1.2 抓取流程

11.2 创建爬虫

11.2.1 cookies收集器

11.2.2 Items类

11.2.3 Pipeline管道编写

11.2.4 Spider爬虫文件

11.2.5 Middlewars中间件编写

Scrapy网络爬虫实战是2019年由清华大学出版社出版,作者东郭大猫。

得书感谢您对《Scrapy网络爬虫实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Python 3反爬虫原理与绕过实战 电子书
适读人群 :本书既适合需要储备反爬虫知识的前端工程师和后端工程师阅读,也适合需要储备绕过知识的爬虫工程师、爬虫爱好者以及Python程序员阅读。 【人气推荐】《Python 3 网络爬虫开发实战》作者、微软小冰工程师崔庆才作序,腾讯、马蜂窝工程师倾力推荐。 【干货满满】爬虫工程师不可错过的“”,内容包括但不限于Cookie 反爬虫、WebSocket 反爬虫、字体反爬虫、WebDriver反爬虫、App 反爬虫、验证码反爬虫。 【反爬虫原理 爬虫实战】从实战出发,印证国内互联网企业内部加密原理,侧重讲解反爬虫的原理以及绕过方法。 【21个反爬虫示例】结合练习平台 Steamboat,帮助读者随时复现书中的 21个爬虫示例,巩固所学知识。
Python爬虫开发实战教程(微课版) 电子书
本书共5章,介绍了爬虫的基本结构及工作流程、抓包工具、模拟网络请求、网页解析、去重策略、常见反爬措施,以及大型商业爬虫框架Scrapy的应用,最后介绍了数据分析及可视化的相关基础知识。
Python网络爬虫实例教程(视频讲解版) 电子书
本书主要内容包括:网络爬虫概述、requests库入门、xapth语法详解、认识和应对反爬虫、模拟登录和验证码的处理、动态页面的分析方法、scrapy框架基础、应对反爬虫策略、scrapy数据存储、提交数据和保持登录、crawlspider模板、图片下载和文件下载、分布式爬虫、增量式爬虫、
Python网络爬虫技术(第2版)(微课版) 电子书
本书以项目为导向,以任务为驱动,较为全面地介绍了不同场景、不同平台使用Python爬取网络数据的方法,涉及静态网页、动态网页、登录后才能访问的网页、PC客户端、App客户端等。全书共7个项目,项目1介绍爬虫与反爬虫的基本概念,以及Python爬虫环境的配置;项目2介绍爬取过程中涉及的网页基础知识;项目3介绍在静态网页中爬取数据的过程;项目4介绍在动态网页中爬取数据的过程;项目5介绍对登录后才能访问
Python网络爬虫:从入门到精通(附微课) 电子书
本书主要介绍如何使用Python语言进行网络爬虫程序的开发,从Python语言的基本特性入手,详细介绍Python网络爬虫开发的多个方面,涉及HTTP、HTML、正则表达式、JavaScript、自然语言处理、数据处理与科学计算等不同领域的内容。全书共12章,包括基础篇、进阶篇、提高篇和实战篇4个部分。基础篇包括第1、2、3章,分别为Python基础及网络爬虫、静态网页抓取、数据存储。进阶篇包括第