3. 定向采集

定向采集,指我们已经有了明确的采集目标与采集规则,比如我们要采集一个新闻站点,那么首先取得新闻列表中全部详情页面的链接地址,再通过链接请求详情页面的内容,这就是一个标准的定向采集爬虫。

3.1 下载网页

我们要了解到,web网页其实是一种超文本标记语言,它通常存储为文本文档,我们的目的就是把这个文本文档下载到本地。

3.2 下载图片与文件

在网页内容中,可能会存在一些图片或者是文件等资源,这些内容如果不同时采集到本地,那么我们保存的内容就是不完全的,所以我们还有能够下载图片与文件。图片与文件通常存储为二进制的流,我们的目的就是把这个流读取到本地并创建为二进制文件。

3.3 Selenium

Selenium是一个用于测试web应用的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。我们可以通过Java调用Selenium执行逻辑,模拟人工操作。

我们为什么要用Selenium呢? 由于互联网应用越来越复杂,新上线的很多网站已经不是静态站点了,有很多单页应用,所谓单页应用就是整个站点仅有一个网页,网站上的所有内容通过http请求动态加载,这样的网站通过上面下载网页的形式已经不能正常读取了,所以我们借由Selenium访问并进行采集。