摘要: 本节我们提供了一个示例将本系列中的第一节和第二节的内容综合到一起,实现下载博客园任意博主的全部博文功能。用户只要在编辑框中输入博客园任意博主的ID,该博主的全部文章就会被下载到内存中,我们本节就来剖析一下实现原理。 总体步骤如下: 1.用分页地址初始化Url队列(其实是一个堆栈数据结构),具体请参考本系列第一节内容; 2.调度器不断从Url队列中取得url,从网上获取该url对应的网页正文; 3.多线程的网页爬虫分析下载到的网页正文是链接提取页还是文章正文页; (1)若为链接提取页面,则提取全部符合规则的文章链接,然后压入到前面的Url队列中(其实是堆栈操作,这里可以理解为,一个分页页面地址换取了几十个文章链接地址,接下来调度器将取得的链接是这几十个文章链接地址,全部下载完,存储到数据存储后,接下来才会轮到取第二个分页页面,这点大家可以对照提供的代码自行理解,此处是网络爬虫的精髓)。 (2)若为文章正文页,则按照正文css路径,提取出正文,存储到数据存储中(本节为datatable中),具体可参考本系列第二节内容。 4.递归的执行第2步和第3步,直 阅读全文
posted @ 2014-12-02 08:47 际为软件事务所 阅读(969) 评论(2) 推荐(3) 编辑