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

  • このエントリーをはてなブックマークに追加

仮想通貨ランキングサイトから情報を得る

下記のような前提ではじめます

  • 仮想通貨ランキングが正かどうかを判断することができない。
  • 噂の噂によりもはや自分自身が毒されている可能性ある。

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

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

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

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

検索は手動

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

仮想通貨ランキングのサイト

仮想通貨ランキングサイトはいろいろあるみたいですが、とりあえずここ(Cryptocurrency Market Capitalizations)を使います。信頼できるサイトかどうかは判断できません。

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

一応できました。この記事をまとめている時点でも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. 再度リストにしたものをエクセルに入れ込む

 

 

 
  • このエントリーをはてなブックマークに追加
     

SNSでもご購読できます。

コメント

  1. はまだ より:

    はじめまして、スクレイピングについての質問なんですが、
    https://coinmarketcap.com/all/views/all
    って今でもスクレイピングできますか?

    PHPのgoutteを使ってスクレイピングを試してみているのですが、
    このページは動作していません(ERR_EMPTY_RESPONSE)で表示がされないんです。

    他のサイトはスクレイピングできますし、https://coinmarketcap.com/all/views/
    もスクレイピングできるのですが、https://coinmarketcap.com/all/views/all
    だけがスクレイピングできないんです。

    よろしくお願い致します。

    1. omodai より:

      試してないからわかりませんが、できるとは思います。
      urlが間違っているとかではないですよね?
      わたしもプログラミング初心者なもので、phpの知識はあまりないです。

コメントを残す

*

CAPTCHA