内容简介
本书是一本全面介绍Python网络数据采集技术的实用指南,由美国数据工程师Ryan Mitchell撰写。全书以Python语言为基础,系统讲解了如何从互联网中高效、合法地获取数据,并应用于数据分析、机器学习等领域。
内容涵盖HTTP协议基础、网页解析(HTML/XML)、爬虫框架(如Scrapy)、动态页面抓取(JavaScript、Ajax)以及反爬虫策略绕过技巧。书中还深入探讨了数据存储(数据库、CSV、JSON)、文本处理与自然语言分析,并特别强调伦理与法律问题,帮助读者在遵守robots.txt协议的基础上采集数据。
本书案例丰富,从简单的单页采集到复杂的多线程爬虫、API交互,再到大规模分布式抓取,逐步深入。适合有一定Python基础的开发者、数据科学家及研究人员阅读,既可作为入门教材,也可作为日常开发参考书。
目录
O’Reilly Media, Inc. 介绍
业界评论
译者序
什么是网络数据采集
为什么要做网络数据采集
关于本书
排版约定
使用代码示例
Safari® Books Online
联系我们
第一部分 创建爬虫
第 1 章 初见网络爬虫
1.1 网络连接
1.2 BeautifulSoup简介
1.2.1 安装BeautifulSoup
1.2.2 运行BeautifulSoup
1.2.3 可靠的网络连接
第 2 章 复杂 HTML 解析
2.1 不是一直都要用锤子
2.2 再端一碗BeautifulSoup
2.2.1 BeautifulSoup的find()和findAll()
2.2.2 其他BeautifulSoup对象
2.2.3 导航树
2.3 正则表达式
2.4 正则表达式和BeautifulSoup
2.5 获取属性
2.6 Lambda表达式
2.7 超越BeautifulSoup
第 3 章 开始采集
3.1 遍历单个域名
3.2 采集整个网站
收集整个网站数据
3.3 通过互联网采集
3.4 用Scrapy采集
第 4 章 使用 API
4.1 API概述
4.2 API通用规则
4.2.1 方法
4.2.2 验证
4.3 服务器响应
API调用
4.4 Echo Nest
几个示例
4.5 Twitter API
4.5.1 开始
4.5.2 几个示例
4.6 Google API
4.6.1 开始
4.6.2 几个示例
4.7 解析JSON数据
4.8 回到主题
4.9 再说一点API
第 5 章 存储数据
5.1 媒体文件
5.2 把数据存储到CSV
5.3 MySQL
5.3.1 安装MySQL
5.3.2 基本命令
5.3.3 与Python整合
5.3.4 数据库技术与最佳实践
5.3.5 MySQL里的“六度空间游戏”
5.4 Email
第 6 章 读取文档
6.1 文档编码
6.2 纯文本
文本编码和全球互联网
6.3 CSV
读取CSV文件
6.4 PDF
6.5 微软Word和.docx
第二部分 高级数据采集
第 7 章 数据清洗
7.1 编写代码清洗数据
数据标准化
7.2 数据存储后再清洗
OpenRefine
第 8 章 自然语言处理
8.1 概括数据
8.2 马尔可夫模型
维基百科六度分割:终结篇
8.3 自然语言工具包
8.3.1 安装与设置
8.3.2 用NLTK做统计分析
8.3.3 用NLTK做词性分析
8.4 其他资源
第 9 章 穿越网页表单与登录窗口进行采集
9.1 Python Requests库
9.2 提交一个基本表单
9.3 单选按钮、复选框和其他输入
9.4 提交文件和图像
9.5 处理登录和cookie
HTTP基本接入认证
9.6 其他表单问题
第 10 章 采集 JavaScript
10.1 JavaScript简介
常用JavaScript库
10.2 Ajax和动态HTML
在Python中用Selenium执行JavaScript
10.3 处理重定向
第 11 章 图像识别与文字处理
11.1 OCR库概述
11.1.1 Pillow
11.1.2 Tesseract
11.1.3 NumPy
11.2 处理格式规范的文字
从网站图片中抓取文字
11.3 读取验证码与训练Tesseract
训练Tesseract
11.4 获取验证码提交答案
第 12 章 避开采集陷阱
12.1 道德规范
12.2 让网络机器人看起来像人类用户
12.2.1 修改请求头
12.2.2 处理cookie
12.2.3 时间就是一切
12.3 常见表单安全措施
12.3.1 隐含输入字段值
12.3.2 避免蜜罐
12.4 问题检查表
第 13 章 用爬虫测试网站
13.1 测试简介
什么是单元测试
13.2 Python单元测试
测试维基百科
13.3 Selenium单元测试
与网站进行交互
13.4 Python单元测试与Selenium单元测试的选择
第 14 章 远程采集
14.1 为什么要用远程服务器
14.1.1 避免IP地址被封杀
14.1.2 移植性与扩展性
14.2 Tor代理服务器
PySocks
14.3 远程主机
14.3.1 从网站主机运行
14.3.2 从云主机运行
14.4 其他资源
14.5 勇往直前
附录 A Python 简介
安装与“Hello,World!”
附录 B 互联网简介
附录 C 网络数据采集的法律与道德约束
C.2 侵犯动产
C.3 计算机欺诈与滥用法
C.4 robots.txt和服务协议
C.5 三个网络爬虫
C.5.1 eBay起诉Bidder’s Edge与侵犯动产
C.5.2 美国政府起诉Auernheimer与《计算机欺诈与滥用法》
作者简介
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
免责申明:
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。