12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # py -2 bcbar.py
- # Web Scraping Prerequisites
- import requests
- # LED Matrix Prerequisites
- import re
- import time
- import argparse
- from luma.led_matrix.device import max7219
- from luma.core.interface.serial import spi, noop
- from luma.core.render import canvas
- from luma.core.virtual import viewport
- from luma.core.legacy import text, show_message
- from luma.core.legacy.font import proportional, CP437_FONT, TINY_FONT, SINCLAIR_FONT, LCD_FONT
- while(1):
- page = requests.get("http://www.bitcoinblockhalf.com/")
- from bs4 import BeautifulSoup
- soup = BeautifulSoup(page.content, 'html.parser') #Scrapes entire HTML file
- data = []
- for paragraph in soup.find_all('td'): #Search for all values of td elements
- data.append(paragraph.string)
- disp = [0]*38 #38 is the length of the list data
- for x in range(len(data)):
- if x % 2 == 0:
- if data[x+1] != None:
- disp.append(data[x])
- disp.append(data[x+1])
- disp = list(filter(lambda a:a != 0, disp)) #For some reason every odd element of the list 'disp' is '0'. This removes all occurences of '0' from the list 'disp'
- disp = list(filter(lambda a:a != None, disp)) #If an element is missing, it shows as 'None' and crashes the script. This removes all occurences of 'None' from the list 'disp'
- #Remove 'list' in Python2.7
- serial = spi(port=0, device=0, gpio=noop())
- device = max7219(serial, cascaded=4 , block_orientation=-90, rotate=0)
- for i in range(len(disp)):
- show_message(device, disp[i], fill="white", font=proportional(LCD_FONT),scroll_delay = 0.04) #Change the value of 'scroll_delay' to change the Scrolling Speed
- #show_message(device, disp[4], fill="white", font=proportional(LCD_FONT),scroll_delay = 0.02) # '4' indicates Displays the number of Bitcoins left to mine.
- #Change this value according to the table to display various data parameters
|