2

Web サイトの URL を取得し、Python スクリプトを実行しているローカル コンピューターにも、css リンクを含む完全な HTML ソース コードをダウンロードできる Python スクリプトを探しています。

誰でもこれを手伝ってもらえますか?

4

2 に答える 2

1

はい、簡単です。PyCurl (curl の python バインディング) を使用できます。

しかし、(ほとんどの場合) 得られるのは、処理された html+javascript です (つまり、クライアント ブラウザが読み取るものだけです)。

JavaScript に関して言えば、プロダクション/ビジネス Web サイトのほとんどは、コードを最適化しようとする JavaScript フレームワークを使用しているため、人間には判読できません。同じことが HTML にも当てはまります。多くのフレームワークでは、html (拡張可能なテンプレート) の階層アーキテクチャを作成できます。そのため、フレームワークによって多くの (テンプレート) ファイルを使用して (おそらく) 生成される、ページごとに 1 つの html が得られます。Css は他の 2 つよりも少し単純です ;)。

于 2012-12-13T06:42:53.267 に答える
0

0xc0de と Joddy に同意します。PyCurl と HTTrack は、あなたが望むことを行うことができます。'Nix OS を使用している場合は、wget.

はい、可能です。実は、数日前にあなたが説明したスクリプトを書き終えました。;) ここではスクリプトを投稿しませんが、私が行ったことに基づいていくつかのヒントを提供します.

  1. ウェブページをダウンロードします。urllib2.urlopenそのために(Python 2.x) または urllib.request.urlopen(Python 3) を使用できます。
  2. 次に、ページをダウンロードした後、ダウンロードしたページのソース コードを解析し (ソース コードをオンラインで解析することもできますが、これは
    urllib2.urlopen/を再度呼び出すことにurllib.request.urlopenなります)、必要なすべてのリンクを取得します。これにはBeautifulSoupを使用できます。次に、必要なすべてのコンテンツをダウンロードします (ステップ 1 で Web ページをダウンロードするために使用したのと同じコードを使用します)。
  3. hrefすべての/srcを css/image/js ファイルのローカル パスに変更して、ローカル ページを更新します。fileinputインプレースのテキスト置換に使用できます。詳細については、このSO 投稿を参照してください。

それでおしまい。心配しなければならないオプションは、プロキシを使用してネットに接続/ダウンロードすること(プロキシの背後にいる場合)、フォルダーの作成、およびロガーです。

Scrapyを使用することもできます。Scrapy を使用して Web サイトをクロールする方法については、このブログ投稿を確認してください。

于 2012-12-13T07:51:02.240 に答える