类似推荐
编辑推荐
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网络爬虫实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。