用Python写网络爬虫(第2版)
- 资料大王PDF
-
0 次阅读
-
0 次下载
-
2024-11-12 22:08:22
微信
赏
支付宝
文档简介:
目 录
版权信息
版权
版权声明
内容提要
关于作者
关于审稿人
前言
资源与支持
第1章 网络爬虫简介
1.1 网络爬虫何时有用
1.2 网络爬虫是否合法
1.3 Python 3
1.4 背景调研
1.4.1 检查robots.txt
1.4.2 检查网站地图
1.4.3 估算网站大小
1.4.4 识别网站所用技术
1.4.5 寻找网站所有者
1.5 编写第一个网络爬虫
1.5.1 抓取与爬取的对比
1.5.2 下载网页
1.5.3 网站地图爬虫
1.5.4 ID遍历爬虫
1.5.5 链接爬虫
1.5.6 使用requests库
1.6 本章小结
第2章 数据抓取
2.1 分析网页
2.2 3种网页抓取方法
2.2.1 正则表达式
2.2.2 Beautiful Soup
2.2.3 Lxml
2.3 CSS选择器和浏览器控制台
2.4 XPath选择器
2.5 LXML和家族树
2.6 性能对比
2.7 抓取结果
2.7.1 抓取总结
2.7.2 为链接爬虫添加抓取回调
2.8 本章小结
第3章 下载缓存
3.1 何时使用缓存
3.2 为链接爬虫添加缓存支持
3.3 磁盘缓存
3.3.1 实现磁盘缓存
3.3.2 缓存测试
3.3.3 节省磁盘空间
3.3.4 清理过期数据
3.3.5 磁盘缓存缺点
3.4 键值对存储缓存
3.4.1 键值对存储是什么
3.4.2 安装Redis
3.4.3 Redis概述
3.4.4 Redis缓存实现
3.4.5 压缩
3.4.6 测试缓存
3.4.7 探索requests-cache
3.5 本章小结
第4章 并发下载
4.1 100万个网页
4.1.1 解析Alexa列表
4.2 串行爬虫
4.3 多线程爬虫
4.4 线程和进程如何工作
4.4.1 实现多线程爬虫
4.4.2 多进程爬虫
4.5 性能
4.5.1 Python多进程与GIL
4.6 本章小结
第5章 动态内容
5.1 动态网页示例
5.2 对动态网页进行逆向工程
5.2.1 边界情况
5.3 渲染动态网页
5.3.1 PyQt还是PySide
5.3.2 执行JavaScript
5.3.3 使用WebKit与网站交互
5.4 渲染类
5.4.1 Selenium
5.5 本章小结
第6章 表单交互
6.1 登录表单
6.1.1 从浏览器加载cookie
6.2 支持内容更新的登录脚本扩展
6.3 使用Selenium实现自动化表单处理
6.3.1 网络抓取时的“人类化”方法
6.4 本章小结
第7章 验证码处理
7.1 注册账号
7.1.1 加载验证码图像
7.2 光学字符识别
7.2.1 进一步改善
7.3 处理复杂验......
评论
发表评论