2011-11-04 37 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)