no-image

眠っている仮想通貨をさがすにはどうしたらいいのか

仮想通貨ランキングで1円以下のアルトコインをwebスクレイピングする

仮想通貨ランキングサイトはいろいろあるみたいですが、下記のサイトからとりあえずここを使います。信頼できるサイトかどうかは判断できません。
All Cryptocurrencies | CoinMarketCap

テーブルなのでとりやすい

  1. 値段は$がついているのでまずこれを取り払う
  2. どうにかしてプログラムで日本円に変換する。
  3. とりだしたものはopenpyxlを使ってエクセルに貼り付ける。

ここまでをどうにかしてやってみたいと思います。

検索自体は手動でするしかありません。取り出したコインをひとつひとつ手動で検索して応援したいと思ったコインを探します。

ウェブスクレイピングコード

一応できました。この記事をまとめている時点でも1円以下のコインは200種類以上あることがわかりました。

import requests, bs4, openpyxl
res = requests.get('https://coinmarketcap.com/all/views/all/')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text)
link_price = soup.select('.price')
link_coin = soup.select('.currency-name-container')

wb = openpyxl.Workbook()
sheet = wb.active

count = 0; altcoinlist = []; altpricelist = []
for (price, coin) in zip(link_price, link_coin):
 count += 1
 price = price.text.lstrip('$')
 try:
  price_float = 111.35 * float(price)
 except:
  print('数字を処理できませんでした。')
 if 1 >= price_float:
  altcoinlist.append(coin.text)
  altpricelist.append(str(price_float))

count = 0
for (alc, alcp) in zip(altcoinlist, altpricelist): 
 count += 1
 sheet['A'+str(count)] = alc
 sheet['B'+str(count)] = alcp + '円'
wb.save('アルトコイン発掘.xlsx')

プログラムコードの解説

  1. bs4で価格とcoinの名前を取得
  2. zipで2リストを同時に処理
  3. tryで処理しきれなかったやつを飛ばす
  4. 1円以下のものを再度リストに。
  5. ドル→日本円変換はドル円のレートにより変わる?
  6. 再度リストにしたものをエクセルに入れ込む