打印scrapy蜘蛛的抓取树结构
通过这段代码可以一目了然的知道scrapy的抓取页面结构,调用也非常简单
# This is a script to print the crawl tree of spider run. # # 使用方法: # # $ python ctree.py myspider.log # None # http://www.example.com/start_page1 # http://www.example.com/second_page # http://www.example.com/another_page # None # http://www.example.com/start_page2 # http://www.example.com/yet_another_page #!/usr/bin/env python import fileinput, re from collections import defaultdict def print_urls(allurls, referer, indent=0): urls = allurls[referer] for url in urls: print ' '*indent + referer if url in allurls: print_urls(allurls, url, indent+2) def main(): log_re = re.compile(r'<GET (.*?)> \(referer: (.*?)\)') allurls = defaultdict(list) for l in fileinput.input(): m = log_re.search(l) if m: url, ref = m.groups() allurls[ref] += [url] print_urls(allurls, 'None') main()
相关文章