私は画像検索のリクエストを取得しようとしていますが、私は私のブラウザにあるのと同じ結果を得ていません。 node.jsを使って同じ結果を得る方法はありますか?リクエストを取得し、ブラウザがNodejsと同じ結果を得る方法を教えてください。
ここで私が使用しているコードです:リクエスト-約束ライブラリに切り替えるとChromeブラウザからUser-Agentヘッダ名と実際のユーザーエージェント文字列の適切な時価総額を使用することにより
var keyword = "Photographie"
keyword = keyword.replace(/[^a-zA-Z0-9éàèùâêîôûçëïü]/g, "+")
var httpOptions = { hostname: 'yandex.com',
path: '/images/search?text=' + keyword, //path does not accept spaces or dashes
headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'user-agent': 'Mozilla/5.0'}}
console.log(httpOptions.hostname + httpOptions.path +postTitle)
https.get(httpOptions, (httpResponse) => {
console.log(`STATUS: ${httpResponse.statusCode}`);
httpResponse.setEncoding('utf8');
httpResponse.on('data', (htmlBody) => {
console.log(`BODY: ${htmlBody}`);
});
});
何が違うかのヒントを教えてください。 – Mike
すべて、私はブラウザではないと判断し、何の結果も表示しません。 –
node.jsのコンテンツをリクエストしたときに表示される内容と、ブラウザでコンテンツを取得するときに表示される内容について、さらに詳しく説明する必要があります。たとえば、ページがクライアントサイドのJavaScriptを使用してレンダリングされる場合、ページをロードして実行して目的のコンテンツを取得するにはブラウザのような環境が必要です。リクエスト元のサーバがブラウザのユーザエージェントを持っていないことを検出しただけの場合は、ユーザエージェントを偽装する必要があります。私たちはおそらくあなたからの多くの情報なしで知ることはできません。 – jfriend00