2017-06-23 30 views
1

のデータを正しく取得しています。そのページに記載されている価格を取得するために、観光および活動ページをクロールしています。次のブロックに価格が記載されています:タグからbeautifulsoup、python

<div class="price-info" data-origin-price="1200" data-lowest-price="1200.0" data-origin-ccy="JPY" data-discount-percentage="60"> 
     <span class="before-discount-row"> 
     <span class="before-discount">25.12</span> 
     <span class="currency">EUR</span> 
     </span> 
    <span class="price-row"> 
     <span class="price-prefix">From</span> 
     <span class="price">10.05</span> 
     <span class="currency">EUR</span> 
    </span> 

価格は円(1200)で手に入れられます。次のステップでは、私はまた、価格をEURに戻したいと思っています。特に、次のサブブロックの価格:

<span class="price-row"> 
    <span class="price-prefix">From</span> 
    <span class="price">10.05</span> 
    <span class="currency">EUR</span> 
</span> 

しかし、どういうわけか、私は壁に流れています。ここに私のコードは次のとおりです。私は、誰かが私を助けることができる代わりに、10.05 EUR

[<span class="price"></span>] 

の取得が出力される

import requests 
from bs4 import BeautifulSoup 
import sys 
import urllib 

user_agent = {'User-agent': 'Chrome/43.0.2357.124'} 

RegionID = "tokyo" 

r = requests.get("https://www.govoyagin.com/things_to_do/japan/" + str(RegionID) + "?page=0" + str(page)) 
soup = BeautifulSoup(r.content) 

g_data = soup.find_all("li", {"class": "activity-list"}) 
for item in g_data: 
     prices = item.find_all("div", {"class": "price-info"}) 
     for t in price: 
      Price_final = item.find_all("span", {"class": "price"}) 
      print(Price_final) 

?範囲から番号を取得する方法はありますか?あなたの助けのための

感謝:)

+1

内容が問題だ動的です。 –

+0

@ElvirMuslicはその問題を解決する方法はありますか? –

+0

はい、 "偽/自動/エミュレートされたブラウザ" Seleniumを使用して、YouTubeで検索してください。 –

答えて

1

私はあなたがループの最後を忘れると思う:

g_data = soup.find_all("li", {"class": "activity-list"}) 
for item in g_data: 
     prices = item.find_all("div", {"class": "price-info"}) 
     for t in prices: 
      final_prices = item.find_all("span", {"class": "price"}) 
      for p in final_prices: 
       print(p) 
+0

残念ながら、それはまだ同じ出力を得て、うまくいきません。 –

関連する問題