6) int main():主要数据结构是一个队列url_tobevisit和一个map visited_url。url_tobevisit用来存储从网页中取出但还未访问的url;visited_url用来存储已经访问过的url,且若某url url_str为死链,则visited_url[url_str]=0,否则使其为1。
由于在net.pku.edu.cn站点指向外部的链接有很多是国外的链接,由于无法连接而无法判断这些链接是否为死链,故索性将进入队列的链接全限制为站点内部的链接。
从队列中弹出的url首先用isdeadlink()判断是否是死链,这样即使是指向rm大文件的url也能很快判断它是否为死链,与判断一般网页文件url的速度没有区别。如果判断为死链,则死链计数加1,且不再对该url进行其它处理,直接取队列中的下一个url。若不为死链,则继续判断其content-type,根据content-type对html,doc,pdf资源的数量进行计数。如果该url的content-type为“text/html”,再