特定の Web ページを定期的に (たとえば 1 時間ごとに) スクレイピングしたいと考えています。これは私がpythonでやりたいことです。スクレイピングされた結果は、SQLite テーブルに挿入されます。python-script は 1 時間ごとに実行されるため、新しい情報がスクレイピングされますが、「古い」情報も再度スクレイピングされます。
より正確には、トーナメントが進行するにつれて、同じページにますます多くの試合結果が公開されるスポーツ結果ページをスクレイピングしたいと考えています。したがって、新しいスクレイピングごとに、新しい結果を SQLite テーブルに入力するだけで済みます。古い結果は 1 時間前 (またはそれ以前) に既にスクレイピング (およびテーブルに挿入) されているためです。
また、2回目にスクレイピングされたときに、同じ結果を2回挿入したくありません。そのため、1 つの結果が既にスクレイピングされているかどうかを確認するメカニズムが必要です。これは SQL レベルで実行できますか? そのため、ページ全体をスクレイピングし、INSERT
結果ごとにステートメントを作成INSERT
しますが、以前はデータベースに存在しなかったステートメントのみが正常に実行されます。UNIQUE
何かキーワードみたいなものを考えています。
または、パフォーマンスについて考えすぎているので、DROP TABLE
スクレイピングを開始する前に毎回実行して、すべてを最初からスクレイピングすることでこれを解決する必要がありますか? 私は本当に多くのデータについて話しません。ちょうど1大会で100回程度の記録(=試合)で、年間50回程度の大会です。
基本的に、ある種のベストプラクティスのアプローチに興味があるだけです。