数据科学实战之网络爬取:Python实践和示例 - (EPUB全文下载)
文件大小:0.69 mb。
文件格式:epub 格式。
书籍内容:
数据科学实战之网络爬取:Python实践和示例
第1章 简介
1.1 什么是网络爬取
1.1.1 网络爬取为什么用于数据科学
1.1.2 谁在使用网络爬取
1.2 准备工作
1.2.2 Python快速入门
第2章 网络传输协议HTTP
2.1 网络的魔力
2.2 超文本传输协议
2.3 Python中的HTTP——Requests库
2.4 带参数的URL查询字符串
第3章 HTML和CSS
3.1 超文本标记语言HTML
3.2 将浏览器用作开发工具
3.3 层叠样式表CSS
3.4 Beautiful Soup库
3.5 有关Beautiful Soup的更多内容
第二部分 高级网络爬取
第4章 深入挖掘HTTP
4.1 使用表单和POST请求
4.2 其他HTTP请求方法
4.3 关于头的更多信息
4.4 使用Cookie
4.5 requests库的session对象
4.6 二进制、JSON和其他形式的内容
第5章 处理JavaScript
5.1 什么是JavaScript
5.2 爬取JavaScript
5.3 使用Selenium爬取网页
5.4 Selenium的更多信息
第6章 从网络爬取到网络爬虫
6.1 什么是网络爬虫
6.2 使用Python实现网络爬虫
6.3 数据库存储
第三部分 相关管理问题及最佳实践
第7章 网络爬取涉及的管理和法律问题
7.1 数据科学过程
7.2 网络爬取适合用于哪里
7.3 法律问题
第8章 结语
8.1 其他工具
8.1.2 Scrapy库
8.1.3 缓存
8.1.4 代理服务器
8.1.5 基于其他编程语言的爬取
8.1.6 命令行工具
8.1.7 图形化的爬取工具
8.2 最佳实践和技巧
第9章 示例
9.1 爬取Hacker News网页
9.2 使用Hacker News API
9.3 爬取引用信息
9.4 爬取书籍信息
9.5 爬取GitHub上项目被收藏的次数
9.6 爬取抵押贷款利率
9.7 爬取和可视化IMDB评级
9.8 爬取IATA航空公司信息
9.9 爬取和分析网络论坛的互动
9.10 收集和聚类时尚数据集
9.11 Amazon评论的情感分析
9.12 爬取和分析维基百科关联图
9.13 爬取和可视化董事会成员图
9.14 使用深度学习破解验证码图片
第1章 简介
本章将介绍网络爬取的概念,并强调为什么这种做法对数据科学家有用。在说明各个领域和行业中最近使用的一些有趣的网络爬取案例之后,确保你已经搭建好自己的编程环境并为网页爬取做好准备。
1.1 什么是网络爬取
网络“爬取”/“爬虫”(也称为“网络收集”“网络数据提取”或“网络数据挖掘”),可以定义为“构建一个代理,以自动化的方式从网络上下载、解析和组织数据”。换句话说,用户点击网络浏览器,把其中感兴趣的部分复制粘贴到电子表格中的工作可以通过网络爬取程序实现,并且该程序的执行比人类更快、更准确。
从互联网上进行自动收集数据的时间可能和互联网本身一样久远,但“爬取”这个术语存在的时间也许要比网络还要长。在“网络爬取”成为一个术语流行起来之前,被称为“屏幕抓取”的操作已经被作为从视觉表达中提取数据的一种方式,虽然在计算机时代初期(20世纪60年代到80年代),这样的视觉表达仅仅是简单的基于文本格式的“终端”。就像现在一样,当时的人们对在这些终端上“抓取”大量的文本数据并存储这些数据供日后使用充满兴趣。
1.1.1 网络爬取为什么用于数据科学
使用普通网络浏览器浏览网页时可能会遇到多个站点,读者可能会考虑从网站上收集、存储和分析网页上显示的数据。特别是对于“原材料”是数据的数据科学家来说,网络提供了许多有趣的机会:
·在维基百科网页上可能有一张有趣的表格,你可以通过该表格进行一些统计分析;
·也许你想要从电影网站获得评论列表来进行文本挖掘、创建推荐引擎或构建预测模型以发现虚假评论;
·你可能希望得到一个房地产网站上的房产清单,对房产地理信息进行可视化,从而使其更具有吸引力;
·为丰富数据集,你可能希望能够通过网络上查找的信息获取更多的特征,例如可预测的天气信息、饮料销售量;
·你可能想知道如何使用网络论坛上的个人资料数据进行社交网络分析;
·通过监视一个新闻站点,实现对特定感兴趣的主题新闻的趋势分析,可能会更有意思。
网络上面包含了许多有趣的数据源,它们为各种有趣的事情提供了财富宝库。遗憾的是,网络目前的非结构化特性使得并不总是能够以简单的方式收集或导出这些数据。网络浏览器非常善于以一种具有吸引力的方式展示图像、显示动画和网站,但并不能使用一种简单的方式来导出数据,至少在大多数情况下如此。与通过网页浏览器的窗口逐页查看网页内容相比,自动收集丰富的数据集不是更好吗?这也正是网络爬取的优势所在。
如果对网络有一些了解,你可能会想:“这不就是应用程序编程接口(API)吗?”事实上,现在很多网站都提供这样一个API,它允许外部以结构化的方式访问他们的数据存储库,这意味着被计算机程序消费和访问,而不是被人类直接访问(当然,程序是由人类编写的)。例如,Twitter、Facebook、LinkedIn和Google都提供这样的API,可以搜索和发布推文、获取你的朋友和他们喜欢的列表、查看你与谁联系等。那么,为什么我们仍然需要网络爬取?API是访问数据源的好方法,但网站必须提供了这样的API,公开你想要的功能。一般的经验是先去找这样的API,如果可以找到的话,在开始构建网络爬取收集数据之前使用这样的API。例如,你可以轻松使用Twitter的API来获取最近的推文列表,而不用自己去查找相关数据。尽管如此,仍然有很多原因可以解释为什么网络爬取比使用API更可取:
·要从中提取数据的网站不提供API;
·网站的访问是免费的,而提供的API不是免费的;
·所提供的API速率受限制,也就是说每秒、每天只能通过API进行一定次数的访问;
·API没有公开你想要获得的所有数据,而网站上公开了这些数据 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 数据科学实战之网络爬取:Python实践和示例 - (EPUB全文下载)