wget
[ブラウザ]タブでは一部のURLが問題なく読み込まれますが、同じツールを使用するとタイムアウトする理由がわかりますcurl
。
例URLは次のとおりです。
https://www.nasdaq.com/market-activity/stocks/gme/news-headlines
curl
Webページのダウンロードスクリプトを使用して生成しようとしましたが、成功しませんでしたwget
(つまり、両方が壊れています)。
wget --adjust-extension -t 2 -U 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' "https://www.nasdaq.com/market-activity/stocks/gme/news-headlines" -O gme.html
wget --adjust-extension -t 2 -U 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' "www.nasdaq.com/market-activity/stocks/gme/news-headlines" -O gme.html
curl -o 01.html https://www.nasdaq.com/market-activity/stocks/gme/news-headlines
curl -o 01.html www.nasdaq.com/market-activity/stocks/gme/news-headlines
答え1
User-Agent:
Webサーバーは要求のヘッダーを確認し、サーバーまたはcurl
同様wget
のツールからの要求を拒否する可能性があります。彼らはスクリプトを介してWebコンテンツにアクセスしたくないので、これを行うこともできます。実際、それらの一部は利用規約(彼らのウェブサイトを訪問するだけで同意することができます)
サービス利用。当社のサービスを利用するには、次のことが必要です。
[...]
サービスにアクセスまたは使用するための自動化されたプロセス、またはサービスからデータまたはコンテンツをキャプチャするためのプロセス(自動または手動)を使用したり、何らかの理由でサービスの不正なコピーまたは配布を防止するためのメカニズムをバイパスしないでください。
リクエストで使用されているヘッダーを変更するUser-Agent:
には、ツールマニュアルで正しいオプションを探し、ユースケースでそのオプションを使用することが正当であることを確認し、その考慮事項に従って対処する必要があります。