2017-07-26 5 views
0

nodejsは私のために新しく、私はちょうどウェブスクレーパーを学び始めました。問題は、JSで保護されているウェブサイトをスクラップする必要があることです。だから、私はウェブサイトから電話を入手する必要がありますが、電話番号を表示するdivは、ユーザーが「番号を表示」ボタンをクリックした後にのみ表示されます。番号を取得する方法やnpmはありますか?ここにはウェブサイトenter link description hereがありますが、それはロシア語です。ボタンは "показатьтелефоны"です。前もって感謝します!Nodejs JS保護されたウェブサイトを読むことができるスクレーパーを書く

+0

あなたはそれが動的に生成されたデータを使用しているサイト上で動作します。..スクレイピングを行うには、セレンのようなツールを使用したいとしてだけでなく、データ入力や仮想マウスの相互作用を使用してサイトと対話しています。 – zipzit

答えて

1

電話番号のページに移動してコンソールを開き、ネットワークツールを確認します。あなたが電話番号をクリックすると、それは、Ajaxリクエストを行い、あなたに素敵なフォーマットされた応答ページをこするした後、あなただけの正しいパラメータを持つhttp://api.all.biz/ajax/viewphonenew/kzエンドポイントへの呼び出しを行う必要があり、これをエミュレートするために

{"status":"ok","phone":"+7 (727) 317-20-86","html_tooltip":"<section class=\"company-phones-tooltip\">\r\n <div class=\"company-phones-tooltip__wrap\">\r\n  <header class=\"company-phones-tooltip__header\">\r\n   Inform the manager that you learned the information on Allbiz.\r\n  <\/header>\r\n  <ul class=\"company-phones-tooltip-list\">\r\n       <li class=\"company-phones-tooltip-list__item\">\r\n     <div class=\"company-phones-tooltip-list__name\">\r\n      management\r\n     <\/div>\r\n     <div class=\"company-phones-tooltip-list__number\">\r\n      +7 (727) 317-20-86\r\n     <\/div>\r\n    <\/li>\r\n     <\/ul>\r\n  <footer class=\"company-phones-tooltip__footer\">\r\n   <a class=\"company-phones-tooltip__link\" href=\"https:\/\/12246-kz.all.biz\/contacts\" target=\"_blank\">\r\n    Show all contacts\r\n   <\/a>\r\n  <\/footer>\r\n <\/div>\r\n<\/section>"} 

を与えます。このエンドポイントに必要なすべてのクエリパラメータは、html要素にあります。

<div class="company-phones__wrap" data-click="company-phones" data-entid="58474" data-verify="bYjmFpAfm5QWOgIjx8cyNOARdSG3FIoPo6he2dYGLIc=" data-phone="Zk6xDyCXPMqWMXgTaCI51A24FHIsDwuy8IaF993LsHI=" data-country="kz" data-placement="company-phones-tooltip___3" data-tooltip-direction="left" data-source="list"> 
     <div class="company-phones__code">+7(7&nbsp;</div> 
     <div class="company-phones__main" data-ga="show-phones-list" data-ga-id=""> 
      <div class="company-phones__btn">Показать телефоны</div> 
     </div> 
    </div> 
+0

あなたの答えをありがとう、私はそうしようとしましたが、 "エラー要求" –

+0

この方法を試してみましたか?それはあなたのために働いたのですか?多分私は何かを間違った –

関連する問題