首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在网上报废时通过电报发送完整的清单?

如何在网上报废时通过电报发送完整的清单?
EN

Stack Overflow用户
提问于 2022-02-13 03:57:47
回答 1查看 61关注 0票数 0

我已经设法得到了我想要的短信,但我似乎无法将整个列表发送到电报中。我只发了第一行。

代码语言:javascript
复制
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)

打印功能给了我这个

代码语言:javascript
复制
AUDI E-TRON 
MERCEDES-BENZ EQC 
TESLA MODEL 3 
NISSAN LEAF 
MERCEDES-BENZ EQV 
AUDI E-TRON 

在某个时候,我想添加一个函数来检查更新,如果有任何变化,然后发送一个推送消息到电报。如果有人能给我指明正确的方向,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-02-13 07:56:22

会发生什么?

您发送一行,因为您没有将结果存储在任何地方,而迭代的最后结果是在内存中。

怎么修?

为了像问题中一样发送文本,您应该将结果存储在结果集上的变量迭代中,通过换行符提取文本和join()结果:

代码语言:javascript
复制
cars = '\n'.join([cars.text for cars in soup.find_all(class_="car-title")])

示例

代码语言:javascript
复制
...
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71097800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档