我已经设法得到了我想要的短信,但我似乎无法将整个列表发送到电报中。我只发了第一行。
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)打印功能给了我这个
AUDI E-TRON
MERCEDES-BENZ EQC
TESLA MODEL 3
NISSAN LEAF
MERCEDES-BENZ EQV
AUDI E-TRON 在某个时候,我想添加一个函数来检查更新,如果有任何变化,然后发送一个推送消息到电报。如果有人能给我指明正确的方向,我将不胜感激。
发布于 2022-02-13 07:56:22
会发生什么?
您发送一行,因为您没有将结果存储在任何地方,而迭代的最后结果是在内存中。
怎么修?
为了像问题中一样发送文本,您应该将结果存储在结果集上的变量迭代中,通过换行符提取文本和join()结果:
cars = '\n'.join([cars.text for cars in soup.find_all(class_="car-title")])示例
...
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)https://stackoverflow.com/questions/71097800
复制相似问题