Forum >> Principianti >> [RISOLTO] Libreria bs4 - problema sull'output spazi e newline (.strip(), .text)

Pagina: 1

Buongiorno Forum :)



Python3

Ho un problema che in realtà prima non avevo, ho creato uno script che estraeva dei dati da: https://www.worldometers.info/coronavirus/country/italy/ con la libreria beutifulsoup, non avevo mai avuto problemi con l'output, avevo risolto rimuovendo l'html con .text alla fine della ricerca con soup.findAll, e usando anche .strip() dopo print(variabile.strip()).

Adesso, forse per un aggiornamento del sito, mi stampa spazi e newlines che prima non c'erano, ho testato sul pc del lavoro, sul mio personale e su TERMUX app di android.
Non capisco dove sta lo sbaglio..
Ho dovuto censurare il proxy.
import requests

from bs4 import BeautifulSoup

import os

import time

import urllib

import sys


class bcolors:

    HEADER = '\033[95m'

    OKBLUE = '\033[94m'

    OKGREEN = '\033[92m'

    WARNING = '\033[93m'

    FAIL = '\033[91m'

    ENDC = '\033[0m'

    BOLD = '\033[1m'

    UNDERLINE = '\033[4m'


while True:

    try:

        if os.name == "nt":

            os.system("cls")

        else:

            os.system("clear")


        URL = 'https://www.worldometers.info/coronavirus/country/italy/'

        headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'} # User Agent

        proxy = "https://nomeutente:passutente@proxybalblabla:8080"

        os.environ['https_proxy'] = proxy

        #requests = requests.Session() # imposta sessione


        page = requests.get(URL, headers=headers, verify=True) # normale richiesta al sito

        soup = BeautifulSoup(page.content, 'html.parser') # Elaborazione del Contenuto della pagina


        casi_italia = soup.findAll(id="maincounter-wrap") # Casi totali

        casiAttiviChiusi = soup.findAll('div', {'class': 'panel_front'})

        #casi = soup.findAll('div', {'class': 'maincounter-number'})


        lastUpdate = (time.strftime("%H:%M:%S")) # Data e orario


        print("\nRiepilogo CORONAVIRUS in Italia \nPer chiudere il programma premi CTRL+C")

        print("Ultimo Controllo: " + bcolors.WARNING + lastUpdate + bcolors.ENDC) # titolo

        print("Link: " + URL + "\n")


        """

        for a in casi:

            casitot = "Casi Totali: "

            print(casitot + a.text.strip())

        """

        if casi_italia: # Dati urgenti

            for a in casi_italia:

                print("
  • > " + a.text.strip())


    if casiAttiviChiusi:

    for x in casiAttiviChiusi:

    print(" > " + x.text.replace("Show Graph", ""))



    time.sleep(600)




    except Exception as e:

    print(e)

    break



    except KeyboardInterrupt:

    print("\nChiudo il programma")

    sys.exit(0)




    Grazie :)
    allego l'output che viene ora.


    --- Ultima modifica di f3b995 in data 2020-03-19 18:56:52 ---


Pagina: 1



Esegui il login per scrivere una risposta.