Seite 1 von 2
Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 14:54
von Assassin4711
Hi Zusammen,
ich brauche mal wieder eure Hilfe.
https://www.oddsportal.com/tennis/usa/a ... -AcCphyfM/
Ich möchte gerne die PopUp Blasen auslesen die erscheinen wenn man über einer dieser Quoten mit der Mouse fährt.
Ich würde da gerne alle Quotenbewegungen entnehmen. Kann mir da jemand helfen und mir ggfs. einen Code dafür zur Verfügung stellen. Die Daten bekomme ich in jedem Fall nicht aus dem html Code extrahiert.
Wenn einer eine Idee hat bitte gerne helfen.
DANKE euch allen
Dirk
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 16:26
von Assassin4711
Hi ich habe nachfolgenden Code dazu im Netz gefunden:
Code: Alles auswählen
table = bookie_data.find('table', {'class': "table-main detail-odds sortable"}) # Find the Odds Table
# This part is scraping a Beautiful Soup Table. Returns the odds and the bookie name for the match
table_body = table.find('tbody')
rows = table_body.find_all('tr') # rows are different bookmakers
for row in rows: # for each bookmaker
cols = row.find_all('td')
for event_tag in cols:
# if it has onmouseover attribute
if event_tag.find("div", onmouseover=True) is not None:
# do stuff here
event_tag.find("div", onmouseover=True).get("onmouseover")
Kann mir einer sagen wie ich den initialisiere? Also was muss ich oben alles importieren usw.
Also wenn ich nur das schreibe, passiert nichts:
Ich bekomme dann diesen Fehler:
Code: Alles auswählen
File "C:\Users\damat\AppData\Local\Temp/ipykernel_15948/3637032489.py", line 3
table_body = table.find('tbody')
^
IndentationError: unexpected indent
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 17:09
von pillmuncher
@Assassin4711: Nach über 60 Posts hier im Forum ist dir noch nicht klar, dass Einrückung in Python wichtig ist und falsche Einrückungen Fehler erzeugen?
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 17:15
von Assassin4711
pillmuncher hat geschrieben: Dienstag 28. September 2021, 17:09
@Assassin4711: Nach über 60 Posts hier im Forum ist dir noch nicht klar, dass Einrückung in Python wichtig ist und falsche Einrückungen Fehler erzeugen?
Nach über 50 Posts hier im Forum ist mir noch mehr nicht klar als nur wie man richtig einrückt. Das sollte dir und euch doch bereits aufgefallen sein ... Ich kopiere Codestrecken aus dem Netz und versuche Sie dann zu verstehen. Die Codestrecke stand eben so im Netz ...
Und ich bin weit davon entfernt, Leute die irgendwo Hilfe geleistet haben zu korrigieren. Ich nehme das alles erstmal so als richtig hin ...
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 17:18
von Assassin4711
aber nach hoffentlich richitgem einrücken bin ich schon etwas weiter gekommen:
Code: Alles auswählen
from bs4 import BeautifulSoup
import requests
bookie_data = requests.get("https://www.oddsportal.com/tennis/usa/atp-san-diego/nishikori-kei-murray-andy-AcCphyfM/?r=1/")
table = bookie_data.find('table', {'class': "table-main detail-odds sortable"}) # Find the Odds Table
# This part is scraping a Beautiful Soup Table. Returns the odds and the bookie name for the match
table_body = table.find('tbody')
rows = table_body.find_all('tr') # rows are different bookmakers
for row in rows: # for each bookmaker
cols = row.find_all('td')
for event_tag in cols:
# if it has onmouseover attribute
if event_tag.find("div", onmouseover=True) is not None:
# do stuff here
event_tag.find("div", onmouseover=True).get("onmouseover")
Nun kommt dieser Fehler:
Code: Alles auswählen
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_15948/459899985.py in <module>
7
8
----> 9 table = bookie_data.find('table', {'class': "table-main detail-odds sortable"}) # Find the Odds Table
10 # This part is scraping a Beautiful Soup Table. Returns the odds and the bookie name for the match
11 table_body = table.find('tbody')
AttributeError: 'Response' object has no attribute 'find'
Mir wäre das ganz mit Selenium auch lieber, weil ich damit jetzt wenigstens schon erfolge erzielen konnte.
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 18:51
von pillmuncher
@Assassin4711: Statt Zeug aus dem Internet zu kopieren und dann durch Raten und stundenlanges Rumprobieren ohne wirklichen Lerneffekt irgendwas zusammen zu basteln das dann immer noch nicht funktioniert und bei dem du dir dann wieder und wieder hier Hilfe holen musst, könntest auch einfach mal das offizielle Tutorial durcharbeiten. Man kombiniert auch nicht einfach irgendwie Zahlen und Operatoren nach Gefühl um Mathematik zu lernen oder englische Worte um Englisch zu lernen.
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 19:23
von Assassin4711
pillmuncher hat geschrieben: Dienstag 28. September 2021, 18:51
@Assassin4711: Statt Zeug aus dem Internet zu kopieren und dann durch Raten und stundenlanges Rumprobieren ohne wirklichen Lerneffekt irgendwas zusammen zu basteln das dann immer noch nicht funktioniert und bei dem du dir dann wieder und wieder hier Hilfe holen musst, könntest auch einfach mal das offizielle Tutorial durcharbeiten. Man kombiniert auch nicht einfach irgendwie Zahlen und Operatoren nach Gefühl um Mathematik zu lernen oder englische Worte um Englisch zu lernen.
Was ist das offizielle tutorial?
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 19:28
von pillmuncher
@Assassin4711: Das findest du auf der Webseite mit der offiziellen Dokumentation für Python:
https://docs.python.org/3/
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 20:06
von Assassin4711
Zugegeben: Du hast mich jetzt ziemlich demotiviert.
Das Problem besteht ja nicht allein dass Python im Gegensatz zu VBA für mich wesentlich komplizierter ist, sondern das eben das meiste was man an Tutorials findet in englisch ist. Leider reicht da einfach mein dürftiges vor fast 30 Jahren in der Schule gelerntes Englisch nicht ...
Die Frage ist war es jetzt so störend für dich wenn ich hier Fragen gestellt habe? Ich finde ich habe auch schon in den letzten Wochen ein wenig gelernt. Aber es ist doch klar das es nicht nur Profis geben kann, ansonsten würden Foren doch keinen Sinn machen.
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 20:38
von pillmuncher
@Assassin4711: Naja, du könntest auch einfach mal nach
"python" "tutorial" "deutsch" googlen. Gleich das erste Ergebnis (nach den Videos) ist eine deutsche Übersetzung des englischen Tutorials.
Im Übrigen: Das Forum ist dazu da, Fragen zu stellen, zu beantworten und Hilfestellung zu geben. Es hat aber keinen Sinn, dir hier schriftlich vorzulesen, was sowieso schon im Tutorial steht. Ich antworte dir auch nicht, um dich zu demotivieren, sondern um dich in dir richtige Richtung zu schubsen.
Re: Werte aus PopUp Blase auslesen
Verfasst: Dienstag 28. September 2021, 22:42
von rogerb
@Assassin4711,
Dieser Funktions Aufruf ist ein get-Request an einen Server:
Code: Alles auswählen
bookie_data = requests.get("https://www.oddsportal.com/tennis/usa/atp-san-diego/nishikori-kei-murray-andy-AcCphyfM/?r=1/")
Dazu findest du hier Informationen:
https://docs.python-requests.org/en/lat ... ession.get
Der Rückgabewert ist ein Response-Objekt, welches ein text Attribut hat:
https://docs.python-requests.org/en/lat ... ponse.text
Das wiederum enthält den HTML-Code.
Aus diesem HTML-Code kann man mit bs4 ein soup -Objekt erstellen, welches sich einfach mit Hilfe der bs4 Funktion find() durchsuchen lässt.
soup = BeautifulSoup(html_doc, 'html.parser')
https://www.crummy.com/software/Beautif ... uick-start
https://www.crummy.com/software/Beautif ... /doc/#find
Die Frage, die du dir vielleicht stellen solltest ist, die ob du programmieren lernen möchtest, oder ob du eine schnelle "egal wie" Lösung für dein Programm suchst.
Wenn du programmieren lernen möchtest, dann gehört dazu viel lernen, lesen und üben.
Man merkt dir aber an, dass du dich nicht wirklich mit dem Lernen beschäftigen möchtest. Das wiederum ist dann für die Hilfesteller hier auf Dauer demotivierend. Ich hoffe du verstehst das.
Wenn man merkt, dass du dich selber auch anstrengst, wird man dir immer gerne weiterhelfen.
Edit: Ja, ich gebe dir Recht, fast alle Dokumentationen sind auf Englisch geschrieben, wenn man das nicht gewohnt ist, kann es extra zäh werden weil man gleich zwei Themen lernen muss. Aber mit dem Link zum deutsch-sprachigen Pythontutorial kommst du schon sehr, sehr weit.
Re: Werte aus PopUp Blase auslesen
Verfasst: Mittwoch 29. September 2021, 05:27
von Assassin4711
Na so ist es nicht ganz. Klar will man immer schnelle Lösungen für Probleme haben, aber ich will das programmieren mit python auch erlernen und ich werde es auch lernen.
Aber ich habe einfach immer nur abend zwei drei stunden dafür zeit. Andonsten steht job und familie eben im Vordergrund.
Ich habe mir auch so wie jetzt python vba über viele Jahre hinweg beigebracht und ich bin da jetzt auch nicht der Profi aber ich bekomme jedes Problem, auch ohne Fragen in einem forum gelöst. Insoweit solltet ihr nicht meine lernbereitschaft anzweifeln. Ich mach es nur nicht so schnell wie ihr es euch wünscht. Ich werde jetzt aber erstmal das tutorial durch arbeiten und euch bis dahin nicht mehr beanspruchen.
Naja wobei ich zum Tutorial schon zur ersten Seite zehn Fragen hätte


Re: Werte aus PopUp Blase auslesen
Verfasst: Mittwoch 29. September 2021, 12:27
von pillmuncher
@Assassin4711: Deine Lenbereitschaft zweifle ich doch gar nicht an, aber deine Lernstrategie. Wenn du Fragen zum Tutiorial hatm kannst du sie hire ebenfalls gerne stellen.
Re: Werte aus PopUp Blase auslesen
Verfasst: Mittwoch 29. September 2021, 18:05
von Assassin4711
Ich verstehe nicht was die unter Windows mit Interpreter meinen. Wenn man kein jupyter oder ähnliches benutzt macht man das doch über die Eingabeaufforderung. Wäre das dann der Interpreter? Vorausgesetzt python ist installiert.
Re: Werte aus PopUp Blase auslesen
Verfasst: Mittwoch 29. September 2021, 18:58
von __blackjack__
@Assassin4711: python.exe ist der Interpreter.
https://de.wikipedia.org/wiki/Interpreter sagt: „Als Interpreter wird ein Computerprogramm bezeichnet, das eine Abfolge von Anweisungen anscheinend direkt ausführt, […]“
Re: Werte aus PopUp Blase auslesen
Verfasst: Mittwoch 29. September 2021, 19:13
von Assassin4711
Ah ja ... ich habe python bevor ich jupyter benutzt habe immer innerhalb der Eingabeaufforderung mit Eingabe von "python" gestartet. Das Ergebnis ist quasi das gleiche... Also offensichtlich ...
Re: Werte aus PopUp Blase auslesen
Verfasst: Mittwoch 29. September 2021, 19:40
von Assassin4711
jetzt sicherlich eine dumme Frage:
Ich hätte jetzt erwartet das ich als Ergebnis Hund , Katze bekomme. Wieso stehen im Ergebnis die ' mit dabei? Ich übergebe doch einen gewöhnlichen String
Was ist der Unterschied zu dem:
Code: Alles auswählen
a = []
b = []
a = "Hund"
b = "Katze"
c = (a + "," + b)
print (c)
Wieso lässt er dann hier die ' weg?
Re: Werte aus PopUp Blase auslesen
Verfasst: Mittwoch 29. September 2021, 20:19
von sparrow
Was denkst du denn, was das "," zwischen zwei Variablen tut? Und wie kommst du zu der Annahme?
Schaut dir doch mal an, von welchem Typ c jeweils ist.
Re: Werte aus PopUp Blase auslesen
Verfasst: Mittwoch 29. September 2021, 20:28
von __blackjack__
Die ersten beiden Zuweisungen an `a` und `b` mit den leeren Listen machen keinen Sinn, weil die Werte ja nirgends verwendet werden.
Re: Werte aus PopUp Blase auslesen
Verfasst: Mittwoch 29. September 2021, 20:48
von Assassin4711
sparrow hat geschrieben: Mittwoch 29. September 2021, 20:19
Was denkst du denn, was das "," zwischen zwei Variablen tut? Und wie kommst du zu der Annahme?
Schaut dir doch mal an, von welchem Typ c jeweils ist.
Wie meinst von welchem Typ c ist? Da ich da zwei Strings aneinanderkette hätte ich gedacht es wäre auch ein String.