2010-04-18 19 views
2

我有大約5 GB的html數據,我想要處理它以查找指向一組網站的鏈接並執行一些額外的過濾。現在,我爲每個站點使用簡單的正則表達式並遍歷它們,搜索匹配項。在我的情況下,鏈接可以在「a」標籤之外,並且在許多方面不能很好地形成(比如鏈接中間的「\ n」),所以我儘可能多地抓取「鏈接」並稍後檢查它們其他腳本(所以沒有BeatifulSoup \ lxml \等)。問題是我的腳本很慢,所以我正在想辦法加快速度。我正在寫一組測試來檢查不同的方法,但希望能得到一些建議:)提取任何看起來像python中的大量數據的鏈接

現在我想獲得的所有環節不進行過濾第一個(也許用C模塊或獨立的應用程序,不使用正則表達式,但簡單的搜索來獲取每個鏈接的開始和結束),然後使用正則表達式來匹配我需要的。

+1

您是否嘗試過使用多個進程對其進行並行化? – fabrizioM 2010-04-18 14:50:26

+0

是的,我使用隊列模塊解析數據,我的CPU可以處理 – Riz 2010-04-18 15:02:01

+0

獲得更快的CPU。 對不起......我無法抗拒。 – 2010-04-18 15:10:01

回答

1

出路。

  • Parallelise
  • 簡介你的代碼,看看那裏的瓶頸。結果往往令人驚訝。
  • 使用單個正則表達式(使用|連接)而不是多個。
相關問題