用Python写网络爬虫.pdf
第1章网络爬虫简介t1 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执行JavaScript 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
10.62MB
文件大小:
评论区