none
爬虫的线程设计代码? RRS feed

  • 问题

  • 应公司的要求,设计一个爬虫,功能是采集新浪网,广度优先的原则一层层的采下去。

    我写了个得到当前页面所有的连接(http网址,方法:string[] geturl(string pageurl)),我怎么在用这个网址做为参数,再传下去?再调用这个方法去抓取呢?当然得用到线程数组,求代码和方案?

    2012年3月3日 1:13

答案

  • 你是怎么得到第一批URL的,你就怎样去寻找第二批URL: 我想你首先是打开第一个网页, 然后找到页面上所有的URL, 那么 你可以继续把这个URL 给这个函数, 这样就有了一个类似递归的思路了, 当然你这里是不需要递归的,因为你不需要返回结果给上级。每一个url你可以从线程池里抓个线程去跑,当跑完当前页面的所有URL 后才继续跑下一级页面上的URL,这应该就是你要的广度优先,每次得到的url,你可以把他们都放一起。

    Mike Feng
    MSDN Community Support | Feedback to us
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年3月5日 15:33
    版主