11-本章小结
[toc]
5.5 本章小结
本章介绍了两种抓取动态网页数据的方法。第一种方法是使用浏览器工具对动态网页进行逆向工程,第二种方法是使用浏览器渲染引擎为我们触发JavaScript事件。我们首先使用WebKit创建自定义浏览器,然后使用更高级的Selenium框架重新实现该爬虫。
浏览器渲染引擎能够为我们节省了解网站后端工作原理的时间,但是该方法也有一些劣势。渲染网页增加了开销,使其比单纯下载HTML或使用API调用更慢。另外,使用浏览器渲染引擎的方法通常需要轮询网页来检查是否已经加载生成的HTML,这种方式非常脆弱,在网络较慢时会经常失败。
我一般将浏览器渲染引擎作为短期解决方案,此时长期的性能和可靠性并不算重要;而作为长期解决方案,我会尝试对网站进行逆向工程。当然,一些网站可能需要“类似人类”的交互或是拥有封闭的API,此时就意味着浏览器实现很可能是获取内容的唯一途径了。
在下一章中,我们将介绍如何与表单进行交互,以及如何使用cookie登录网站并编辑内容。