2017-02-01 5 views
0

は、私は、各ページの在庫リストを収集し、CSVでの情報(例えば。写真のURL、タイトル、説明、日付、価格など)を書くために、このページ(http://www.bobaedream.co.kr/cyber/CyberCar.php?gubun=I)のためのWebクローラを作りました。CSV書き込みが完了した時点からコードを再起動するにはどうすればよいですか?

リストを収集しながら、時には「例外」がランダムにポップアップ表示されます。コード全体を再起動すると、例外が表示されないことがあります。私は "tryとexcept"関数をwhileループの中で以下のような例外を避けるために使いましたが、例外が出現するとwhileループで実行が続き、抜けることはできません。私がやりたい何

while True: 
    try: 
     self.driver.execute_script(option2[1]) 
    except (StaleElementReferenceException, NoSuchElementException): 
     sleep(1) 
     print("Exception Found") 
     continue 
    break 

は、例外が始まるときCSVに書き込まれた最後のリストから再起動コード全体にあります。私のコードはかなり長いので、起動する部分を正確に記述するのは難しいです。しかし、CSVの最後のリストの情報を取得し、例外が表示された時点からそのコードを再起動するための特定のコマンドまたはロジックがあるかどうか疑問に思っています。私の記述は貧弱ですが、皆さんは私は何かアドバイスや何か?

+0

は、この行を説明してください「このように、私が始まる例外リストからコード全体を再起動したいと思います」。 – Harry

+0

私の文章は言い換えられますが、それでもまだ明確ではないことは分かっています。これは私の最善の説明です。 –

+0

私は問題を理解しましたが、答える前に私は最後の疑念を取り除きたいと思います。 「option2 [1]」とは何ですか?オプション2のタイプは何ですか? – Harry

答えて

0

あなたの質問はまだ私には分かりません。

import csv 
with open(filename) as f: 
    last_record = list(csv.reader(f))[-1] 

上記のコードを使用して、csvファイルに書き込まれた最後のレコードを取得し、それに応じて使用することができます。それがあなたの答えではない場合はお知らせください。

関連する問題