2011-11-04 39 views
2

如何使用Mechanize和Python抓取网站,递归追踪每个页面上的每个链接?如何使用Python和机械化来抓取站点

我在教程和机械化文档中看到的每个示例都显示了如果可以调用它的话,如何遵循浏览“路径”(例如,进入主页,填充表单,按提交,对响应执行某些操作)而不是拼凑整个网站。

+0

要限制它的网站的域名或按照每一个环节,以充分发挥其潜力? – Will

+0

只是网站的域名,但我的问题的解决方案不需要担心这样的规则。 – Trindaz

回答

2

这里是一些psudo代码,让你开始,让我知道如果你需要更多:

br = make browser object 
visited=set() 
max_depth=10 
def crawl_all_links(browser,depth): 
    if depth <= max_depth: 
     for link in browser.links(): 
      if link not in visited: 
       visited.add(link) 
       browser.open(link) 
       do_something(browser.read()) 
       crawl_all_links(browser,depth+1) 
       browser.back() 

crawl_all_links(browser,0)