Web scraping - html
Verfasst: Dienstag 30. Januar 2024, 14:08
Hallo,
im Rahmen einer Projektarbeit muss ich ein Berechnungstool in Python erstellen.
Hierfür brauche ich Emissionsfaktoren von verschiedenen Materialien und das Ziel ist es diese Faktoren aus einer Datenbank automatisch rauszuziehen.
Ich habe eine Website gefunden die, meiner Meinung nach, gut dafür geeignet ist: https://www.climatiq.io/data/explorer?data_version=8.8
Ich habe versucht diese Seite zu scrapen, aber entweder kriege [ ] raus oder ich kriege die Tabelle raus aber nie einen genauen Emissionsfaktor dabei.
Mein Code:
import pycurl
from pandas import json_normalize
urllib3.contrib.pyopenssl.inject_into_urllib3()
http = urllib3.PoolManager(
cert_reqs='CERT_REQUIRED',
ca_certs=certifi.where()
)
import urllib3
urllib3.disable_warnings()
import requests
res = requests.get('https://www.climatiq.io/data/explorer?s ... y=REDACTED', verify=False)
print(res)
<200>
league_table = soup.find('table', class_ = 'activities-table')
for team in league_table.find_all('tbody'):
rows = team.find_all('tr')
scraper = pd.read_html("https://www.climatiq.io/data/emission-f ... dd4eded999")
for idx, table in enumerate(scraper):
print("**************************************************")
print(idx)
print(table)
Wie kann ich die Seite denn scrapen, dass ich am Ende eine gescheite Tabelle mit allen Emissionsfaktoren habe?
Ich vermute das der Dropdown Menü das Problem ist....?
Ich habe 0 Erfahrung in Python, und dieses Problem beschäftigt mich schon seit einer Woche...
Dankeschön
im Rahmen einer Projektarbeit muss ich ein Berechnungstool in Python erstellen.
Hierfür brauche ich Emissionsfaktoren von verschiedenen Materialien und das Ziel ist es diese Faktoren aus einer Datenbank automatisch rauszuziehen.
Ich habe eine Website gefunden die, meiner Meinung nach, gut dafür geeignet ist: https://www.climatiq.io/data/explorer?data_version=8.8
Ich habe versucht diese Seite zu scrapen, aber entweder kriege [ ] raus oder ich kriege die Tabelle raus aber nie einen genauen Emissionsfaktor dabei.
Mein Code:
import pycurl
from pandas import json_normalize
urllib3.contrib.pyopenssl.inject_into_urllib3()
http = urllib3.PoolManager(
cert_reqs='CERT_REQUIRED',
ca_certs=certifi.where()
)
import urllib3
urllib3.disable_warnings()
import requests
res = requests.get('https://www.climatiq.io/data/explorer?s ... y=REDACTED', verify=False)
print(res)
<200>
league_table = soup.find('table', class_ = 'activities-table')
for team in league_table.find_all('tbody'):
rows = team.find_all('tr')
scraper = pd.read_html("https://www.climatiq.io/data/emission-f ... dd4eded999")
for idx, table in enumerate(scraper):
print("**************************************************")
print(idx)
print(table)
Wie kann ich die Seite denn scrapen, dass ich am Ende eine gescheite Tabelle mit allen Emissionsfaktoren habe?
Ich vermute das der Dropdown Menü das Problem ist....?
Ich habe 0 Erfahrung in Python, und dieses Problem beschäftigt mich schon seit einer Woche...
Dankeschön