Warum erhält mein HTML -Parser nicht die gewünschte Zahl aus.Python

Python-Programme
Anonymous
 Warum erhält mein HTML -Parser nicht die gewünschte Zahl aus.

Post by Anonymous »

Mein Programmierlehrer hat uns in Python ein Programm zum Taschenrechner für die Berechnung der Kraftstoffabdeckung in L/100 km gemacht, und ich beschloss, weiter zu gehen und sogar den Preis pro 100 km zu berechnen, aber hier ist es, dass ich versuchte, einen HTML -Parser mit BeautifulSoup4 herzustellen (BS4) So findet es den Gaspreis für mich und aktualisiert ihn, wenn es jemals auf der Website ändert, und ich habe den CSS -Selektor für die Nummer gefunden, aber ich bin mir nicht sicher, ob es falsch ist oder was im Parser falsch ist Gibt "Anfangsnummer: Keine" anstelle der vom CSS -Selektor angegebenen Nummer zurück. Hier ist der Code für meinen Parser: < /p>

Code: Select all

import requests
from bs4 import BeautifulSoup
import time

# URL of the website to monitor
url = 'https://nbeub.ca/index.php?page=current-petroleum-prices-2'

# Function to fetch the number from the website
def fetch_number():
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# Adjust the selector to find the specific number
number = soup.select_one('body > table > tbody > tr:nth-child(5) > td > table > tbody > tr > td > table > tbody > tr > td:nth-child(3) > table > tbody > tr:nth-child(3) > td:nth-child(2)')
return str(number)

# Main monitoring function
def monitor():
last_number = fetch_number()
print(f"Initial number: {last_number}")

while True:
time.sleep(2592000)  # Wait for 30 days before checking again
current_number = fetch_number()

if current_number != last_number:
print(f"Number updated: {current_number}")
last_number = current_number

# Start monitoring
monitor()
Mein Terminal ist normal und fragt mich nach Eingängen, aber da es an Parser kommt, druckt es nur die Anfangszahl: Keine und macht dann den Rest meines Codes nicht.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post