'How do I get the full list list sent via telegram when web scrapping

I have managed to get the text I want but I can't seem to send the entire list to a telegram message. I only manage to send the first line.

service = Service(executable_path=ChromeDriverManager().install())

driver = webdriver.Chrome(service=service)

driver.get("")

Source = driver.page_source

soup = BeautifulSoup(Source, "html.parser")

for cars in soup.findAll(class_="car-title"):
    print(cars.text)

driver.close()


def telegram_bot_sendtext(bot_message):
    bot_token = ''
    bot_chatID = ''
    send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + bot_chatID + '&parse_mode=Markdown&text=' + bot_message

    response = requests.get(send_text)

    return response.json()

test = telegram_bot_sendtext(cars.text)

The print function gives me this

AUDI E-TRON 
MERCEDES-BENZ EQC 
TESLA MODEL 3 
NISSAN LEAF 
MERCEDES-BENZ EQV 
AUDI E-TRON 

At some point I would like to add a function to check for updates and if there any changes then send a push message to telegram. If someone could point me in the right direction I would be grateful.



Solution 1:[1]

What happens?

Your sending one line, cause you do not store the results anywhere and only the last result from iterating is in memory.

How to fix?

Asuming you want to send text as in the question, you should store results in variable - Iterate over resultset, extract text and join() results by newline character:

cars = '\n'.join([cars.text for cars in soup.find_all(class_="car-title")])

Example

...
cars = '\n'.join([cars.text for cars in soup.find_all(class_="car-title")])

def telegram_bot_sendtext(bot_message):
    bot_token = ''
    bot_chatID = ''
    send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + bot_chatID + '&parse_mode=Markdown&text=' + bot_message

    response = requests.get(send_text)

    return response.json()

test = telegram_bot_sendtext(cars)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 HedgeHog