Python网络爬虫实战指南:掌握Scrapy与Portia

4星 · 超过85%的资源 需积分: 47 36 下载量 51 浏览量 更新于2024-07-19 1 收藏 9.87MB PDF 举报
《用Python写网络爬虫》是一本由澳大利亚作者Richard Lawson撰写的专业书籍,针对Python编程爱好者和对网络爬虫技术感兴趣的读者群体。该书详细介绍了如何利用Python语言进行网络数据抓取,内容涵盖了网络爬虫的基础概念,以及一系列实用技巧。 书中首先从网络爬虫的定义和原理入手,让读者对这一主题有全面的理解。接着,作者深入浅出地讲解了三种从网页中提取数据的方法,分别是解析HTML、使用BeautifulSoup库以及XPath和CSS选择器。这些方法有助于读者掌握如何定位和提取网页结构中的所需信息。 为了提高效率,书中还涵盖了如何利用Python的多线程和进程技术进行并发抓取,这对于处理大量数据或者响应速度要求高的场景尤其重要。此外,动态页面抓取是现代网络环境中的挑战,书中提供了应对策略,包括Selenium库的使用,以模拟用户行为获取动态加载的内容。 交互式表单处理是另一个关键部分,书中指导读者如何填写和提交表单,以获取那些隐藏在动态请求中的数据。遇到常见的验证码问题时,作者也分享了解决方案,如OCR识别技术的应用,以及使用机器学习方法绕过验证码。 对于高级用户,本书特别推荐了Scrapy和Portia两个强大的Python网络爬虫框架,它们提供了更高效的数据抓取和管理工具。通过实际案例,读者可以学习如何把这些技术应用到实际项目中,提升数据抓取的稳定性和可维护性。 《用Python写网络爬虫》是一本实践性强的教程,它不仅教授理论知识,还提供丰富的实战项目,旨在帮助读者将所学知识灵活运用到实际网络数据抓取场景中,无论是初学者还是有一定经验的Python开发者,都能从中受益匪浅。
2017-11-16 上传
第1章 网络爬虫简介 1 1.1 网络爬虫何时有用 1 1.2 网络爬虫是否合法 2 1.3 背景调研 3 1.3.1 检查robots.txt 3 1.3.2 检查网站地图 4 1.3.3 估算网站大小 5 1.3.4 识别网站所用技术 7 1.3.5 寻找网站所有者 7 1.4 编写第 一个网络爬虫 8 1.4.1 下载网页 9 1.4.2 网站地图爬虫 12 1.4.3 ID遍历爬虫 13 1.4.4 链接爬虫 15 1.5 本章小结 22 第2章 数据抓取 23 2.1 分析网页 23 2.2 三种网页抓取方法 26 2.2.1 正则表达式 26 2.2.2 Beautiful Soup 28 2.2.3 Lxml 30 2.2.4 性能对比 32 2.2.5 结论 35 2.2.6 为链接爬虫添加抓取回调 35 2.3 本章小结 38 第3章 下载缓存 39 3.1 为链接爬虫添加缓存支持 39 3.2 磁盘缓存 42 3.2.1 实现 44 3.2.2 缓存测试 46 3.2.3 节省磁盘空间 46 3.2.4 清理过期数据 47 3.2.5 缺点 48 3.3 数据库缓存 49 3.3.1 NoSQL是什么 50 3.3.2 安装MongoDB 50 3.3.3 MongoDB概述 50 3.3.4 MongoDB缓存实现 52 3.3.5 压缩 54 3.3.6 缓存测试 54 3.4 本章小结 55 第4章 并发下载 57 4.1 100万个网页 57 4.2 串行爬虫 60 4.3 多线程爬虫 60 4.3.1 线程和进程如何工作 61 4.3.2 实现 61 4.3.3 多进程爬虫 63 4.4 性能 67 4.5 本章小结 68 第5章 动态内容 69 5.1 动态网页示例 69 5.2 对动态网页进行逆向工程 72 5.3 渲染动态网页 77 5.3.1 PyQt还是PySide 78 5.3.2 执行 78 5.3.3 使用WebKit与网站交互 80 5.3.4 Selenium 85 5.4 本章小结 88 第6章 表单交互 89 6.1 登录表单 90 6.2 支持内容更新的登录脚本扩展 97 6.3 使用Mechanize模块实现自动化表单处理 100 6.4 本章小结 102 第7章 验证码处理 103 7.1 注册账号 103 7.2 光学字符识别 106 7.3 处理复杂验证码 111 7.3.1 使用验证码处理服务 112 7.3.2 9kw入门 112 7.3.3 与注册功能集成 119 7.4 本章小结 120 第8章 Scrapy 121 8.1 安装 121 8.2 启动项目 122 8.2.1 定义模型 123 8.2.2 创建爬虫 124 8.2.3 使用shell命令抓取 128 8.2.4 检查结果 129 8.2.5 中断与恢复爬虫 132 8.3 使用Portia编写可视化爬虫 133 8.3.1 安装 133 8.3.2 标注 136 8.3.3 优化爬虫 138 8.3.4 检查结果 140 8.4 使用Scrapely实现自动化抓取 141 8.5 本章小结 142 第9章 总结 143 9.1 Google搜索引擎 143 9.2 Facebook 148 9.2.1 网站 148 9.2.2 API 150 9.3 Gap 151 9.4 宝马 153 9.5 本章小结 157