Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
## Installation of python3 venv and pip: # sudo apt update # sudo apt install python3-venv # sudo apt install python3-pip ## Create and activate python virtual venv: # python3 -m venv scrape_ven # source scrape_venv/bin/activate ## Install required packages with pip: # pip install bs4 paho-mqtt import requests from bs4 import BeautifulSoup import json import paho.mqtt.client as mqtt import time # MQTT broker and topic information HOST = "192.168.1.5" TOPIC = "energia/params" USER = "mqtt" PASSWD = "mqtt#" # Scrape and send json to mqqt topic def tge_to_mqtt(): url = "https://tge.pl/energia-elektryczna-rdn" r = requests.get(url) soup = BeautifulSoup(r.content, 'lxml') head = soup.find('table', {'class':"footable table table-hover table-padding"}) date = soup.find('h4', {'class':'kontrakt-date'}).text data = date[-10:] table = head.find('tbody') lista = [] for row in table.find_all('tr'): li = [] slown = {} for col in row.find_all('td'): li.append(col.text.replace('\n','').replace('\t','')) slown = { 'Data': data, 'Czas': li[0], 'FIXING_I' : [{'Kurs (PLN/MWh)': li[1]},{'Wolumen (MWh)': li[2]}], 'FIXING_II': [{'Kurs (PLN/MWh)': li[3]}, {'Wolumen (MWh)': li[4]}], 'Notowania_ciagle': [{'Kurs (PLN/MWh)': li[5]},{'Wolumen (MWh)': li[6]}], } lista.append(slown) return json.dumps(lista, indent=4) if __name__ == "__main__": while True: # Create MQTT client and connect to the broker client = mqtt.Client() client.username_pw_set(USER, PASSWD) client.connect(HOST, 1883, 60) client.publish(TOPIC, payload=tge_to_mqtt()) time.sleep(3600) # wait 3600 sec
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)