我正在編寫一個腳本,用於使用硒對.csv文件進行中等大小的刮擦。約15,000行,每行10列。當我進行300日行的測試時,我注意到最後,它似乎比開始運行時慢一點。這可能只是我的看法,或者我可能已經與網速有關。但我有一個想法,直到我運行csv_file.close()
,文件不寫入磁盤,我假設數據全部保存在內存緩衝區或什麼?定期關閉並重新打開csv文件以減少內存負載
因此,定期關閉然後重新打開csv文件是有意義的(每個通過減少內存負載來幫助加速腳本的速度?還是有一些更大的問題,這會創建?或者是整個想法愚蠢,因爲我想象腳本變慢了嗎?300,000行的刮片產生了一個大約39kb的csv文件,這看起來並不多,但我不知道python在內存中保存這種數據是否會減慢它的速度或減慢速度
完整腳本的pastebin如果它有任何區別,請使用一些模糊處理:http://pastebin.com/T3VN1nHC *請注意腳本沒有完全完成我正在努力使它對最終用戶非常友好,所以在此時的運行時間有一些鬆散的末端仍然。
爲什麼你不使用數據庫?即使SQLite比CSV文件更好。 – jonrsharpe
這些信息最可能用於生成郵寄地址標籤。我以前從未使用過SQL。會有什麼真正的好處嗎? csv看起來簡單/容易,我認爲它會轉化爲更快的運行時間。考慮到我不得不用硒來刮擦網站,我正在低頭看18釐小時的垃圾桶。 – Lobsta
簡單*實現*並不一定意味着*更快*。而且,如果你碰撞部分通過刮擦?下一步你對數據做什麼並不重要。 – jonrsharpe