2016-04-08 2 views
0

私はいくつかの個人データサイエンスプロジェクトを行っています。そのうちの1つは、特定の曲がラジオでどのくらい頻繁に再生されているかを見ることです。Python/RでJavaScraping JavaScriptを使用する

http://www.iheart.com/live/radio-1045-3401/

私はページのソース、関心の移入の無い値を見ると、上記のURLを見てみます。理由はわかりませんが、 "Now Playing"ヘッダーにカーソルを合わせるとchromeでinspect要素を使用すると、現在再生中の曲やアーティストの値が表示されます。

例:

a class="player-song" href="/artist/rem-3610/songs/-2450662/" title="Losing My Religion" data-reactid=".1hpdfx1l4ow.a.1.0.1.1">Losing My Religion</a 

私の二つの質問は以下のとおりです。

  1. は、なぜこれがページのソースに表示されないが、私はそれが下の要素を点検して見ることができますか?
  2. ページソースにこの情報が表示されないので、どのようにこの情報をスクラップしますか?動的な要素を含んで
+0

javacriptによってコンテンツが生成されている可能性があります。その場合、Pythonでセレンを使用することができます – juvian

+1

おそらくそのAPIを使用してデータを取得できます。http://developer.iheart.com/Api/login –

答えて

3
  1. ほとんどのウェブページは、ブラウザが解析し、あなたのために実行されることのJavascriptで生成され、挿入されたページ要素を持っています。あなたはすでに質問のタイトルに基づいてこれを推測しました。

    ページソースに表示されるものは、生のHTML の前に、の前にあります.Javascriptが起動して更新されます。

  2. headless browser:グラフィカルユーザーインターフェイスのないブラウザ。これはJavascriptを解析して実行し、それに応じてページのHTMLを更新します。ここで


full list of headless browsersです。このタスクはどの言語でも実行できます。

+0

MechanicalSoupはreadmeにjavascriptをしていないと言っています。RoboBrowserはリクエストとbeautifulSoupが混在していると思います。機械化についてもわからないしかし、いい答えです。 – Ehvince

関連する問題