wgetからファイルをダウンロードできません。

wgetからファイルをダウンロードできません。

過去8時間の間、別の進展なしに様々な記事をクロールしてきました。私はhttrack、wget、lynx、cURLを使ってみました。

私はサイトのプレミアム会員であり、一度決済するとコンテンツをすばやくダウンロードできますが、無料会員はコンテンツをゆっくりダウンロードできます。すべてのリンクはサーバーによって生成され、ワンタイムダウンロードリンクであるため、リンクの共有は禁止されます。

約3時間後、私はクッキーファイルを保存するためにwgetを取得する方法を見つけました。今私の問題は、ファイルをダウンロードしようとしているときです。次のwgetコマンドはすべての製品ページをダウンロードしますが、実際のファイルはダウンロードしません。各個々のページにはダウンロード可能なファイルにリンクするタグがありますが、<a>wgetはそのタグをクロールしません。

wget --mirror --adjust-extension --page-requisites --execute=robots=off --wait=30 --random-wait --convert-links --user-agent=Mozilla --no-parent --recursive --load-cookies=my-cookies.txt --no-clobber https://www.mysite.net/directory/product

私はこれが私が見逃している単純なものであるという感じを持っています。結局8時間以上作業しようとしました。 :/

編集する:Anthonが提案したようにJavascriptをオフにしようとしましたが、Javascriptはファイルのダウンロードには何もしません。ウェブサイトのコードをよく見ると、単純なURLタグです<a>

ベストアンサー1

私はコマンドラインで利用可能なwgetとcURLのコマンドラインを生成するcliget(Firefoxアドイン)を使います。これが機能していることを確認してください。

https://addons.mozilla.org/en-US/firefox/addon/cliget/

@Anthonが指摘したように、これがうまくいかない理由の1つは、ダウンロードリンクが実際に実際のファイルの場所を計算するいくつかのJavaScriptを実行しているためです。その呼び出しをキャッチすることは解決策になります。このタイプの自動ダウンロードにはSelenium + Pythonを使用できます。ただし、アプローチはやや複雑で、おそらくこのサイトには適していない可能性があります。

おすすめ記事