我有一個程序請求網頁,解析它並依賴於結果決定下一步該做什麼。解析器的設計模式
例如:程序應該從頁面獲取一些元素,我們稱它爲「目標元素」。如果程序確實請求並獲取「someOtherElement」,它將繼續執行。如果它獲得「aimElement」執行者應該點擊一些鏈接,執行結束,我們去下一個任務。程序有20次嘗試獲得「aimElement」。 「aimElement」可能會在未來發生變化。
看起來很簡單,但我真的不知道如何實現這個良好的oo設計。我在考慮兩個對象:Task和Executor。任務包含所有條件,Executor將Task作爲參數接收,並根據Task的需求進行請求。但是,如果執行者將原始頁面返回給任務本身,任務將變得複雜,並且它們之間將存在強大的連接。如果Executor返回已經解析過的頁面元素,那麼Executor將需要知道什麼以及如何解析,並且也會很複雜,並且還會有強大的連接。
我不知道我的解釋是否清楚,但也許你可以給我建議一些設計模式,或只是分享你的經驗與類似的問題。
Yust要確保 - 你想解析一個HTML文檔並找到某些節點? – home
XML內容HTML。在XML中,如果找到它,我會搜索包含元素的節點,然後找到包含HTML和解析鏈接的節點,然後單擊它們。 – Moses