Hallo zusammen, wie könnte man mit Python von der Seite https://www.onvista.de/index/einzelwerte/S-P-500-Index-4359526 die Aktien des Aktienindex S&P500 auslesen? Die erste Seite mit den ersten x Aktien sind kein Problem, aber wie kommt man auf die zweite bis elfte Seite?
1 | import urllib3 |
2 | from bs4 import BeautifulSoup |
3 | |
4 | link='https://www.onvista.de/index/einzelwerte/S-P-500-Index-4359526' |
5 | |
6 | user_agent='Mozilla/4.5 (Windows NT 9.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0' |
7 | pm = urllib3.PoolManager(10, headers={'user-agent': user_agent}) |
8 | response = pm.urlopen('GET', link) |
9 | soup = BeautifulSoup(response.data, 'html.parser') |
10 | section = soup.find('section', {'class': 'grid'}) |
11 | pagination = section.find('div', {'class': 'pagination--container-center'}) |
12 | print(pagination) |
In der pagination-Antwort befindet sich der Code für die 'Links' zu den Seiten zwei bis elf: Siehe Anhang (µC.net meint in dem Code Spam zu erkennen, daher nur als Screenshot) Außerdem findet man den 'Nächste Seite' Button:
1 | <div class="pagination__button pagination__button--right"> |
2 | <button aria-label="Nächste Seite"> |
3 | <span class="icon icon--SvgCdAngleRight16 icon--size-16"> |
4 | <svg class="icon__svg" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> |
5 | <path d="M6 13c-.26 0-.51-.1-.71-.29a.996.996 0 010-1.41L8.59 8l-3.3-3.29A.996.996 0 116.7 3.3l4 4c.39.39.39 1.02 0 1.41l-4 4c-.19.19-.44.29-.7.29z" fill="currentColor"></path> |
6 | </svg> |
7 | </span> |
8 | </button> |
9 | </div> |
Damit kommt man glaube ich nicht weiter, da die Links und der Button keinen href-Link enthalten. Hat jemand eine Idee, wie man die anderen Seiten auslesen kann? Danke und viele Grüße