2017-03-02 20 views
0

私は一般的にWeb廃棄を経験している経験豊富な人たちからより多くの情報を得ようとしています。私はPythonライブラリを使ってWeb廃棄に入っています。同時に、私は一部の人々が単純なBashを使用しており、wget, curl, sed, grep, awkのようなWeb廃棄に関するコマンドを使用していることに気づきました。Pythonライブラリを使ったWebスクラップ用のBashスクリプティングの使用は?

これらのコマンドは、Webスクラップ用のPythonライブラリを使用するよりもスクリプティングでははるかにクリーンなようです。

あなたのテイクは何ですか?私が得意でないBash上でPythonライブラリを使用する利点がありますか?あるいは、BashでPythonを使ってWeb廃棄を達成することさえできますか?

+1

まあ、それはコーディングスタイルの問題です。一般的に、Pythonのlibを特定のタスクに使うことができるのであれば、Bashコマンドを使ってそれを使用します。 – linusg

+0

はい、*多くの*プログラムの代わりに* 1プログラムを実行することに大きな利点があります。 – chepner

+0

よく、Pythonはライブラリを必要とします。あなたはまっすぐなpythonを使用することができるようではありません。 – user2171775

答えて

1

BeautifulSoupおよびRequestsは、プログラムによるスクレイピングに最適なツールです。それらは広く使用され、頻繁に更新され、使いやすさに重点が置かれています(要求のモットーはHTTP for Humansです)。

+0

あなたはカールかゲットで可能なことを見たことがありますか?コマンド一行で? – user2171775

+2

ほとんどの経験豊富なプログラマーは、カールとゲットに精通しています。要点は、Pythonの使用は使いやすく、読みやすく、メンテナンス性が高いことです。業界全体の専門家がそれを使用する理由があります。インターネットからページを取得するためのスクリプトが必要な場合は、是非bashを使用してください。しかし、bashにはデータベースドライバがありますか?それはモジュールを持っていますか? Pythonを使用することには多くの利点があります。 –

+1

私は、Pythonの利点の別のポイントは、JSONがデータフォーマットとしてより一般的になったということです。確かに、ウェブページをダウンロードしている人には、カールはバトル強化と優れたツールですが、 'curl'や他のUnixツールでREST APIをクロールすることを想像してください。あなたは 'jq'の構文を学ぶのに時間がかかるかもしれませんし、単に' requests'を使って 'r.json()'を呼び出してあなたの仕事を終えることもできます。 – thaavik

0

Pythonでは、JavaScriptを使用してレンダリングされたサイトを、セレントとPhantomJSのようなヘッドレスブラウザで削り取ることもできます。おそらくこれはbashスクリプトでも可能ですが、コードが複雑になればなるほど、Python IMHOの明快さの利点が大きくなります。

+0

ありがとう、私はjavascriptを扱うことについて考えなかった。 – user2171775

関連する問題