Web サイトの URL を取得し、Python スクリプトを実行しているローカル コンピューターにも、css リンクを含む完全な HTML ソース コードをダウンロードできる Python スクリプトを探しています。
誰でもこれを手伝ってもらえますか?
Web サイトの URL を取得し、Python スクリプトを実行しているローカル コンピューターにも、css リンクを含む完全な HTML ソース コードをダウンロードできる Python スクリプトを探しています。
誰でもこれを手伝ってもらえますか?
はい、簡単です。PyCurl (curl の python バインディング) を使用できます。
しかし、(ほとんどの場合) 得られるのは、処理された html+javascript です (つまり、クライアント ブラウザが読み取るものだけです)。
JavaScript に関して言えば、プロダクション/ビジネス Web サイトのほとんどは、コードを最適化しようとする JavaScript フレームワークを使用しているため、人間には判読できません。同じことが HTML にも当てはまります。多くのフレームワークでは、html (拡張可能なテンプレート) の階層アーキテクチャを作成できます。そのため、フレームワークによって多くの (テンプレート) ファイルを使用して (おそらく) 生成される、ページごとに 1 つの html が得られます。Css は他の 2 つよりも少し単純です ;)。
0xc0de と Joddy に同意します。PyCurl と HTTrack は、あなたが望むことを行うことができます。'Nix OS を使用している場合は、wget
.
はい、可能です。実は、数日前にあなたが説明したスクリプトを書き終えました。;) ここではスクリプトを投稿しませんが、私が行ったことに基づいていくつかのヒントを提供します.
urllib2.urlopen
そのために(Python 2.x) または
urllib.request.urlopen
(Python 3) を使用できます。urllib2.urlopen
/を再度呼び出すことにurllib.request.urlopen
なります)、必要なすべてのリンクを取得します。これにはBeautifulSoupを使用できます。次に、必要なすべてのコンテンツをダウンロードします (ステップ 1 で Web ページをダウンロードするために使用したのと同じコードを使用します)。href
すべての/src
を css/image/js ファイルのローカル パスに変更して、ローカル ページを更新します。fileinput
インプレースのテキスト置換に使用できます。詳細については、このSO 投稿を参照してください。それでおしまい。心配しなければならないオプションは、プロキシを使用してネットに接続/ダウンロードすること(プロキシの背後にいる場合)、フォルダーの作成、およびロガーです。
Scrapyを使用することもできます。Scrapy を使用して Web サイトをクロールする方法については、このブログ投稿を確認してください。