2011-03-04 89 views
2

我正在使用mechanize和beautifulsoup創建一個python腳本來從網頁中提取一些數據。抓取工作正常,但我遇到的問題是移動到多個頁面。有沒有辦法在循環中機械化頁面之間移動?機械化打開多個頁面

這裏就是我試圖

Browser().follow_link(text_regex="Next") 

,但它進入下一個頁面這是很好的,但如果「下一步」按鈕,它不存在,只是死亡。我不知道如何做出更好的循環,或者在運行上面的follow link命令之前檢查鏈接是否存在。

我發現的大多數示例和文檔似乎只能在一個頁面上工作。

+0

你可能希望發佈更多的代碼,很難發表評論,只是一條線。 :) :) – sarnold 2011-03-04 01:13:41

+0

@sarnold:你有意離開'Broswer'錯字嗎? – phooji 2011-03-04 01:16:33

+0

@phooji,謝謝你指出。字符轉換錯別字幾乎不可能發現,我認爲下劃線來自括號。 :) – sarnold 2011-03-04 01:24:04

回答

1

你的代碼如何「死掉」?如果它拋出一個異常,你可以捕捉它,並做一些屬性格式處理它(你的循環中爲是):

try: 
    Browser.follow_link(text_regex="Next") 
except Exception: 
    print "No more next button; terminating loop (but not dying mysteriously)" 
    break 
+0

非常感謝你Phooji。它像一個魅力。對不起,我非常感謝你的幫助。我花了一天的時間來解決這個問題。再次感謝! – Lostsoul 2011-03-04 01:30:43

+0

嘿嘿,真棒「(但不會神祕地死去)」:) – sarnold 2011-03-04 01:32:00

+0

哈哈。我非常高興python回到編程中,對我來說一切都是巨大的謎團。有什麼更好的學習方式,然後閱讀幾本書,一起破解一些腳本,當我碰到牆壁時,就會遇到像這裏的人一樣的聰明人.-) – Lostsoul 2011-03-04 01:36:34