2016-04-08 14 views
0

Kişisel veri bilimi projeleri yapıyorum ve bunlardan biri radyoda belirli şarkıların ne sıklıkla çalındığını görmek.Web Kazıma javascript'i Python/R

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

ben sayfa kaynağı, faiz populate hiçbir değerlerine baktığımızda, yukarıdaki URL bakarak. Neden olmadığından emin değilim, ancak "Now Playing" başlığının üzerine geldiğimde kromdaki inceleme elemanını kullandığımda, şimdi çalmakta olan şarkı ve sanatçı değerlerini görebiliyorum.

Örnek:

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 

Benim iki soru

şunlardır:

  1. Neden bu sayfa kaynağında görünmüyor, ama altında Öğeyi İncele görebilir?
  2. Sayfa kaynağında görünmediğinden bu bilgiyi nasıl temizlerim? dinamik öğeleri içeren
+0

kontrol edilemedi ama muhtemelen içeriği javascript tarafından oluşturuldu, bu durumda python – juvian

+1

içinde selenyum kullanabiliyordunuz muhtemelen onların API'sini kullanarak da veri alabilirsiniz .. http://developer.iheart.com/Api/login –

cevap

3
  1. Çoğu web sayfaları sayfa öğeleri oluşturulan ve tarayıcı ayrıştırır ve sizin için yürütür o Javascript tarafından eklenen var. Bunu zaten tahmin ettiniz, şüpheliyim, soru başlığına göre.

    Sayfa kaynağında gördüğünüz şey, Javascript'in yapmadan önce ham HTML içeriğidir ve güncelleştirir.

  2. headless browser: grafik kullanıcı arabirimi olmayan bir tarayıcı. Bu sizin için Javascript'i ayrıştırır ve çalıştırır ve sayfa HTML'sini buna göre günceller. İşte


bir full list of headless browsers olduğunu. Bu görevi herhangi bir dilde yapabileceğinizi unutmayın.

+0

MechanicalSoup onların readme javascript yapmaz ve RoboBrowser istekleri ve beautifulSoup bu yüzden bu yüzden değil düşünüyorum. Mekanize etme konusunda da emin değilim. Yine de güzel cevap. – Ehvince