2017-12-09 27 views
3

私はまだPython、特にBeautifulSoupには新しいです。私は数日間この記事を読んでいて、さまざまなコードを集めてミックス結果を得ています。しかし、thisページでBitcoinの価格は私が掻きたいです。価格は次の場所にあります: <span class="text-large2" data-currency-value="">$16,569.40</span> 意味は、私のスクリプトに値がある行だけを印刷させたいということです。私の現在のコードはページ全体を印刷し、多くのデータを印刷しているのでとても見栄えが悪いです。誰かが私のコードを改善するのを助けてくれますか?BeautifulSup掻き出しBitcoin価格の問題

import requests 
from BeautifulSoup import BeautifulSoup 

url = 'https://coinmarketcap.com/currencies/bitcoin/' 
response = requests.get(url) 
html = response.content 

soup = BeautifulSoup(html) 
div = soup.find('text-large2', attrs={'class': 'stripe'}) 

for row in soup.findAll('div'): 
    for cell in row.findAll('tr'): 
     print cell.text 

これはコードを実行した後に得られる出力のスナップです。それは非常に素晴らしく見えないか、または見えない。

#SourcePairVolume (24h)PriceVolume (%)Updated 
1BitMEXBTC/USD$3,280,130,000$15930.0016.30%Recently 
2BithumbBTC/KRW$2,200,380,000$17477.6010.94%Recently 
3BitfinexBTC/USD$1,893,760,000$15677.009.41%Recently 
4GDAXBTC/USD$1,057,230,000$16085.005.25%Recently 
5bitFlyerBTC/JPY$636,896,000$17184.403.17%Recently 
6CoinoneBTC/KRW$554,063,000$17803.502.75%Recently 
7BitstampBTC/USD$385,450,000$15400.101.92%Recently 
8GeminiBTC/USD$345,746,000$16151.001.72%Recently 
9HitBTCBCH/BTC$305,554,000$15601.901.52%Recently 

答えて

1

これを試してみてください:

import requests 
from BeautifulSoup import BeautifulSoup 

url = 'https://coinmarketcap.com/currencies/bitcoin/' 
response = requests.get(url) 
html = response.content 

soup = BeautifulSoup(html) 
div = soup.find("div", {"class" : "col-xs-6 col-sm-8 col-md-4 text-left" 
}).find("span", {"class" : "text-large2"}) 

for i in div: 
    print i 

これは私にとって16051.20を出力します。

後で編集:上記のコードを関数に入れてループした場合、それは常に更新されます。私は今、さまざまな価値を得る。

0

これは機能します。しかし、私はあなたがBeautifulSoupの古いバージョンを使用していると思う、コマンドプロンプトまたはPowerShellでpip install bs4を試してください

import requests 
from bs4 import BeautifulSoup 

url = 'https://coinmarketcap.com/currencies/bitcoin/' 
response = requests.get(url) 
html = response.text 

soup = BeautifulSoup(html, 'html.parser') 

value = soup.find('span', {'class': 'text-large2'}) 
print(''.join(value.stripped_strings)) 
関連する問題