新書推薦:
《
津巴多时间心理学:挣脱束缚、改写命运的6种时间观
》
售價:HK$
77.3
《
大英博物馆东南亚简史
》
售價:HK$
177.0
《
纯粹·我只要少许
》
售價:HK$
80.6
《
经济史的趣味(全新增订版)(经济史与思想史丛书)
》
售價:HK$
84.0
《
中国古代鬼神录
》
售價:HK$
190.2
《
投机苦旅:一位投机客的凤凰涅槃
》
售價:HK$
88.5
《
重返马赛渔场:社会规范与私人治理的局限
》
售價:HK$
69.4
《
日子慢慢向前,事事慢慢如愿
》
售價:HK$
55.8
|
內容簡介: |
本书提供了一个完整的、现代的Web抓取指南,使用Python作为编程语言,专为数据科学的读者编写,探讨了Web抓取和以及其背后的大量Web技术。书中首先简要概述抓取和现实生活中的用例,解释了HTTP、HTML和CSS的核心概念作为基础。*后总结了一些*佳实践和一系列的例子,这些数据科学用例汇集了你学到的所有知识。读者将学习到如何利用已建立的*佳实践和常用的Python包,处理包括JavaScript、Cookie和常见的web抓取技术。
|
關於作者: |
Seppe vanden Broucke是比利时鲁汶大学经济与商务学院数据科学方面的助理教授。他的研究兴趣包括商务数据挖掘和分析、机器学习、流程管理和流程挖掘,相关论文发表在知名国际期刊和顶级会议上。 Seppe从事包括高级分析、大数据和信息管理课程方面的教学工作,也经常提供工业和商业用户的培训。除了工作,Seppe喜欢旅行、阅读(从Murakami到Bukowski到Asimov)、听音乐(从Booka Shade到Miles Davis到Claude Debussy)、看电影和连续剧(由于没时间现在看得少多了)、玩游戏和关注新闻事件。
Bart Baesens是比利时鲁汶大学大数据和数据分析方面的教授,也是英国南安普顿大学的讲师。他对大数据及分析、信用风险建模、欺诈检测和营销分析进行了广泛的研究。Bart撰写了200多篇学术论文和若干本书。除了与家人共度时光外,他还是一名布鲁日足球俱乐部的铁杆球迷。Bart是美食家和业余厨师,他喜欢在他的酒窖里或者在花园里俯瞰红色英式电话亭时喝一杯好酒(他*喜欢的是白维欧尼或红赤霞珠)。Bart热爱旅行,对第一次世界大战着迷,并阅读了很多关于这个主题的书籍。
|
目錄:
|
译者序
作者简介
技术审校者简介
前言
第一部分 网络爬取基础
第1章 简介2
1.1 什么是网络爬取2
1.1.1 网络爬取为什么用于数据科学2
1.1.2 谁在使用网络爬取4
1.2 准备工作6
1.2.1 设置6
1.2.2 Python 快速入门7
第2章 网络传输协议HTTP18
2.1 网络的魔力18
2.2 超文本传输协议20
2.3 Python中的HTTPRequests库25
2.4 带参数的URL查询字符串28
第3章 HTML和CSS36
3.1 超文本标记语言HTML36
3.2 将浏览器用作开发工具38
3.3 层叠样式表CSS42
3.4 Beautiful Soup库45
3.5 有关Beautiful Soup的更多内容53
第二部分 高级网络爬取
第4章 深入挖掘HTTP60
4.1 使用表单和POST请求60
4.2 其他HTTP请求方法71
4.3 关于头的更多信息73
4.4 使用Cookie79
4.5 requests库的session对象87
4.6 二进制、JSON和其他形式的内容89
第5章 处理JavaScript93
5.1 什么是JavaScript93
5.2 爬取JavaScript94
5.3 使用Selenium爬取网页98
5.4 Selenium的更多信息109
第6章 从网络爬取到网络爬虫115
6.1 什么是网络爬虫115
6.2 使用Python实现网络爬虫117
6.3 数据库存储120
第三部分 相关管理问题及最佳实践
第7章 网络爬取涉及的管理和法律问题130
7.1 数据科学过程130
7.2 网络爬取适合用于哪里133
7.3 法律问题134
第8章 结语139
8.1 其他工具139
8.1.1 其他Python库139
8.1.2 Scrapy库140
8.1.3 缓存140
8.1.4 代理服务器141
8.1.5 基于其他编程语言的爬取141
8.1.6 命令行工具142
8.1.7 图形化的爬取工具142
8.2 最佳实践和技巧143
第9章 示例147
9.1 爬取Hacker News网页148
9.2 使用Hacker News API150
9.3 爬取引用信息 150
9.4 爬取书籍信息154
9.5 爬取GitHub上项目被收藏的次数156
9.6 爬取抵押贷款利率160
9.7 爬取和可视化IMDB评级165
9.8 爬取IATA航空公司信息166
9.9 爬取和分析网络论坛的互动171
9.10 收集和聚类时尚数据集177
9.11 Amazon评论的情感分析180
9.12 爬取和分析维基百科关联图188
9.13 爬取和可视化董事会成员图194
9.14 使用深度学习破解验证码图片197
|
內容試閱:
|
恭喜!从选择本书起,你就迈出了进入令人兴奋的网络爬取世界的第一步。感谢你选择本书陪伴你踏上这段旅程。
目标
对于那些不熟悉编程或网络工作机制的人来说,网页爬取通常看起来像个魔法:编写独立探索互联网并收集数据的程序被看作一种神奇的、令人兴奋的甚至可怕的强大力量。实际上,没有太多的编程任务能够像网络爬取那样同时吸引有经验的程序员和新手。第一次看着程序工作,在网络上开始不断收集数据,感觉自己已经避免了工作中的常规方式,破解了某种谜题。也许是因为这个原因,网络抓取现在制造了很多头条新闻。
本书将使用Python作为编程语言,提供简洁而时髦的网络爬取指南。虽然有很多其他的书籍和在线教程,但对于入门者来说,我们觉得还可以进行这种方式的学习,以提供一个简短而甜蜜的指南,而不至于陷入典型的在X小时内学会但重要的细节或最佳实践却因为快速学习而被忽略的陷阱。另外,你会注意到我们将本书称为数据科学实战之网络爬取,这是因为我们本身就是数据科学家,在收集数据的过程中发现网络爬取是一个很强大的工具。数据科学项目的第一步是从获得合适的数据集开始,在某些情况下(如果你愿意的话,可以是理想情况),数据集由业务合作伙伴、公司的数据仓库或你的学术主管提供,或是从外部数据供应商处购买或获取的结构化格式的数据。但许多真实的项目都需要从网络收集大量信息,就像人们手工从网络上收集数据一样。因此,本书提供以下内容:
简明扼要,但同时也详尽地叙述网络爬取的内容;
面向数据科学家,展示网络爬取如何嵌入数据科学工作流;
采用代码优先方法,无需太多样板文字,让你快速掌握网络爬取;
通过使用完善的最佳实践和公开可用的开源Python库来实现;
比简单的基础内容更进一步,展示如何在现在的网络中进行爬取,包括如何处理JavaScript、Cookie和常见的网络反爬取技术;
包括有关网络爬取的管理和法律问题的讨论;
为进一步阅读和学习提供指导;
包括若干大型、完整的实例。
我们希望你能享受阅读本书的乐趣,有如我们写作本书的初衷。如果你有任何疑问、发现了书中的错误或只想联系我们,请随时与我们联系!我们喜欢听取读者的意见,并乐于接收任何想法和问题。
Seppe vanden Broucke, seppe.vandenbroucke@kuleuven.be
Bart Baesens, bart.baesens@kuleuven.be
读者须知
我们在撰写本书时考虑了以数据科学为导向的受众。因此,你可能已经熟悉Python或其他一些编程语言或分析工具包,无论是R、SAS、SPSS,还是其他语言。如果你已经使用过Python,那么你会在阅读本书时感到更舒服。如果没有,我们将在后面包含Python的快速入门,以便你了解基础知识,并提供其他阅读指南。即使你还没有将Python用于日常的数据科学任务(很多人会认为你应该这样做),我们也想向你展示Python作为一种特别强大的语言,适用于从网络上爬取数据。我们还假设你对网络的工作方式有一些基本了解,也就是说你了解Web浏览器的工作方式并知道URL是什么。随着书中内容的进展,我们将详细解释相关细节。
总而言之,本书适用于以下目标读者:
已经在使用Python并希望学习如何使用这种语言来爬取网络数据的数据科学从业者;
使用另一种编程语言或工具包,但希望采用Python来执行网络爬取部分的数据科学从业者;
网络爬取课程的讲师和导师;
从事网络爬取项目或旨在提高Python技能的学生;
需要网络数据实现想法的数据分析师;
希望了解网络爬取的全部内容以及如何为其团队带来收益,以及需要考虑相关管理和法律问题的数据科学或商业智能经理。
本书结构
本书可分为如下三个部分:
第一部分包括第1~3章,将介绍网络爬取及它为什么对数据科学家有用,并讨论网络的关键组件HTTP、HTML和CSS。我们将展示如何使用Python中的requests和Beautiful Soup库编写基本的爬取。
第二部分包括第4~6章,将深入讨论HTTP,展示如何使用表单、登录界面和Cookie。解释如何处理JavaScript的繁杂网站,并展示如何实现从简单的网络爬取到高级网络爬虫。
第三部分包括第7~9章,讨论数据科学背景下网络爬取的管理和法律问题,进一步扩展介绍了其他工具和库。同时,这一部分还列出了有关网络爬取最佳实践的总览和窍门。第9章列举了若干网络爬取示例,以显示之前的概念如何组合,并用网络爬取的数据突出显示一些有趣的数据科学用例。
本书易于阅读和实现,因此建议新人从头到尾阅读本书。也就是说,本书的结构是后面的部分会参考前面的内容,以便你想要温习知识或查找特定的概念。
|
|