March 2019
Intermediate to advanced
312 pages
4h 32m
Japanese
クローリングは高速です。少なくとも、十数人の研修生を雇ってインターネットから手作業でデータをコピーするよりは、はるかに速いのが普通です。もちろん、技術進歩と急速な需要の高まりから、現在の処理速度では「十分高速だ」とは言えません。このような状況で分散コンピューティングが検討されます。
他の技術分野とは異なり、Webクローリングでは、「問題を解くエンジンを増やす」だけでは改善しません。1つのプロセスの実行は速いです。2つのプロセスを実行しても2倍速くなるとは限りません。3つのプロセスを実行しようとすると、リクエストを送っているリモートサーバから禁止されることもあります。
しかし、次のような状況においては、並列Webクローリング、すなわち、スレッド/プロセスの並列実行が効果的な場合があります。
Pythonはマルチプロセスもマルチスレッドも両方ともサポートします。マルチプロセスもマルチスレッドも、プログラムを従来通り1つずつ実行する代わりに、同時に複数のプログラミングされたタスクを実行するという同じ究極の目標を達成します。
OS上で実行されているプロセスはそれぞれ複数のスレッドを持つことができます。各プロセスには、独自のメモリが割り当てられ、複数のスレッドはその同じメモリを共有しますが、複数のプロセスはメモリを共有できず、情報を明示的に通信しなければなりません。 ...
Read now
Unlock full access