Webをクロールして、100万件のユーザー名または電子メールのレコードをデータベースに挿入するスクリプトを作成する必要があります。スクリプトは、python、ruby、phpなどの任意のタイプにすることができます。
可能かどうか教えてください。可能であれば、スクリプトの作成方法についての情報を提供してください。
ありがとう
Webをクロールして、100万件のユーザー名または電子メールのレコードをデータベースに挿入するスクリプトを作成する必要があります。スクリプトは、python、ruby、phpなどの任意のタイプにすることができます。
可能かどうか教えてください。可能であれば、スクリプトの作成方法についての情報を提供してください。
ありがとう
また、探していることを実行するApacheNutchとApacheGoraも確認する必要があります。Nutchは、Goraが結果をCassandra、Hive、またはMySQLに保存する実際のクロールを実行します
お使いのマシンのパフォーマンスやインターネット接続によっては、時間がかかる場合があります。
PHPのcURLライブラリを使用してWebリクエストを自動的に送信し、ライブラリ(simplHtmlDOMなど)またはネイティブPHPDOMを使用してデータを簡単に解析できます。ただし、メモリ不足に注意してください。また、Webブラウザではなくシェルからスクリプトを実行することを強くお勧めします。また、プロセスを高速化するために、マルチカール関数の使用を検討してください。
これは非常に簡単で迅速に実装できますが、このシナリオではマルチスレッドによってパフォーマンスが大幅に向上するため、提案した他の言語の1つを使用することをお勧めします。Apache HttpClientライブラリを使用してJavaでこれを簡単に実行し、DOMを操作し、ネイティブx-pathサポート、正規表現を使用してデータを抽出するか、Javaで多くのサードパーティのdom実装の1つを使用できることを知っています。
JavaライブラリHtmlUnitもチェックすることを強くお勧めします。これにより、作業がはるかに楽になりますが、パフォーマンスが低下する可能性があります。優れたマルチスレッド実装はパフォーマンスを大幅に向上させますが、悪い実装はプログラムの実行を悪化させる可能性があります。
Pythonのリソースは次のとおりです。http:
//docs.python.org/library/httplib.html
http://www.boddie.org.uk/python/HTML.html
http://www.tutorialspoint.com/python /python_multithreading.htm
クロール側に少し追加します。あなたはウェブをクロールすると言いました。したがって、ここではクロールの方向を示します(つまり、ページをフェッチした後、次にアクセスするリンクが非常に重要になります)。ただし、すでにWebページのリスト(シードURLリストと呼ばれる)がある場合は、それらをダウンロードしてreqdを解析するだけです。データ。電子メールアドレスを解析する必要があるだけの場合は、正規表現を選択できます。htmlには電子メールのタグがないため、htmldomパーサーは役に立ちません。