2016-08-02 7 views
0

javascriptコードをNodeJsに送信して、ウェブページのコンテンツを取得したいとします。私はコンテンツがブラウザに表示されているコンテンツとまったく同じであることを望みます。HTTPSウェブページのコンテンツを取得するにはどうすればよいですか?

これはURLです: https://www.realtor.ca/Residential/Single-Family/17219235/2103-1185-THE-HIGH-STREET-Coquitlam-British-Columbia-V3B0A9

私は、次のコードを使用しますが、私はresponse405を取得します。

var fs = require('fs'); 
var link = 'https://www.realtor.ca/Residential/Single-Family/17219235/2103-1185-THE-HIGH-STREET-Coquitlam-British-Columbia-V3B0A9'; 
var request = require('request'); 
request(link, function (error, response, body) { 
    fs.writeFile("realestatedata.html", body, function(err) { 
     if(err) { 
      console.log('error in saving the file'); 
      return console.log(err); 
     } 
     console.log("The file was saved!"); 
    }); 
}) 

保存されたファイルは、ブラウザに表示されているものとは関係ありません。

+1

送信したリクエストがサーバーでサポートされていないようです。リクエストしてみましたか( 'https://www.realtor.ca/Residential/Single-Family/17219235/2103-1185-THE-HIGH-STREET-Coquitlam-British-Columbia-V3B0A9').pipe(fs.createWriteStream( 'realestatedata.html')))? とにかく、他の多くのリソースが必要なので、htmlだけを開くとページが同じようにレンダリングされないことに注意してください(ページを表示すると110の要求が行われます)。 –

+0

私は 'www'と' realtor.ca'で始まるURLを試してみましたが、どちらもうまくいきませんでした。それをどのように機能させることが可能ですか? 110件のリクエストをすべて実行するにはどうすればいいですか? –

答えて

0

私のコメントが切り詰められて以来、本当の答えは分かりやすくなると思います。

あなたが送信したリクエストの方法がサーバによってサポートされていないようです(405 Method Not Allowed - Request-Lineで指定されたメソッドは、Request-URIによって識別されるリソースに対して許可されていません。要求されたリソースの有効なメソッドのリストを含むAllowヘッダー)。 HTTP応答に関する詳細情報がありますか? あなたの代わりに次のコードを試しましたか?

request('https://www.realtor.ca/Residential/Single-Family/17219235/2103-1185-THE-HIGH-STREET-Coquitlam-British-Columbia-V3B0A9').pipe(fs.createWriteStream('realestatedata.html')) 

また、In Node.js/Express, how do I "download" a page and gets its HTML?を見ることもできます。

とにかく、他の多くのリソース(ページを表示すると110の要求が行われる)が必要なので、htmlだけを開くと、同じ方法でページがレンダリングされないことに注意してください。 私は次の答えがページ全体をダウンロードするのに役立つと思います。 https://stackoverflow.com/a/34935427/1630604

+0

ブラウザで表示されているように表示されず、HTMLコンテンツ(クロールできるようにする)が必要なことを理解します。私は最初のリンクで示唆されたものを使用し、それは動作しません。同じWebサイトからページが表示されますが、探しているページは存在しません。あなたが提案したものと同じことが起こります。 –

関連する問題