lima-city: Webhosting, Domains und Cloud
0 Pluspunkte 0 Minuspunkte

Wie kann ich einen einfachen Webscraper mit Python und dem Chrome Driver erstellen mit dem ich die Seite nach HTML Elementen durchsuchen kann?

import time
 
from selenium import webdriver
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager

from bs4 import BeautifulSoup
 
options = webdriver.ChromeOptions()
options.headless = True
options.page_load_strategy = 'none'
 
chrome_path = ChromeDriverManager().install()
chrome_service = Service(chrome_path)
 
driver = Chrome(options=options, service=chrome_service)
 
driver.get("https://www.orf.at" )
html = driver.page_source

soup = BeautifulSoup(html, 'html.parser')

elements = soup.find('div', {'class': 'ticker-story-wrapper'})

for result in elements:
    print(result)
    print("-" * 50)
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Hier ist ein einfaches Beispiel.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--headless')

driver = webdriver.Chrome(options=chrome_options)

driver.get('https://www.orf.at')

elems = driver.find_elements(By.CSS_SELECTOR, 'div[class="ticker-story-wrapper"]')

for el in elems:
    print(el.get_attribute('innerText'))
von (716 Punkte)  
0 Pluspunkte 0 Minuspunkte

Entferne die Zeile

options.page_load_strategy = 'none'

und ändere die Zeile

elements = soup.find('div', {'class': 'ticker-story-wrapper'})

zu

elements = soup.find_all('div', {'class': 'ticker-story-wrapper'})

von (397 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

13 Nutzer