메시지가 도착할 때까지 대기하고, 메시지가 도착하면 해당 메시지에서 숫자를 추출하여 변수에 저장하는 코드입니다
import re
mestext = 0
while mestext == 0:
response = client.conversations_history(channel="Channel ID", limit=1) # 최근 1개의 메시지만 가져오도록 변경
messages = response["messages"]
if messages:
mesText = messages[0].get('text')
# 정규 표현식을 사용하여 숫자 추출
numbers = re.findall(r'\b\d+\b', mesText)
# 추출된 숫자가 있다면 변수에 넣고 루프를 종료
if numbers:
mestext = numbers[0]
# 결과 출력
print(mestext)
이 코드는 0.1초 간격으로 메시지를 확인하여 메시지가 도착하면 해당 메시지에서 숫자를 추출하고 루프를 종료합니다.
===================================
메시지를 계속 감시하고, 새로운 메시지가 도착할 때까지 대기하는 코드로 변경해 보겠습니다
import re
import time
mestext = 0
while mestext == 0:
response = client.conversations_history(channel="Channel ID", limit=1)
messages = response["messages"]
if messages:
mesText = messages[0].get('text')
# 정규 표현식을 사용하여 숫자 추출
numbers = re.findall(r'\b\d+\b', mesText)
# 추출된 숫자가 있다면 변수에 넣고 루프를 종료
if numbers:
mestext = numbers[0]
# 0.1초 대기
time.sleep(0.1)
# 결과 출력
print(mestext)
이 코드는 계속해서 최근에 도착한 메시지를 확인하고, 새로운 메시지가 도착하면 해당 메시지에서 숫자를 추출하여 루프를 종료합니다.
==================================
예시 "1234 인증번호 5678 입니다[075707]"에서 1234, 5678, 075707을 각각 추출하는 방법은 다음과 같습니다
import re
mesText = "1234 인증번호 5678 입니다[123456]"
# 방법 1: 인증번호로 추정되는 네 자리 숫자 추출
code_1 = re.search(r'\b\d{4}\b', mesText).group()
print("방법 1:", code_1)
# 방법 2: 대괄호 안에 있는 숫자 추출
code_2 = re.search(r'\[(\d+)\]', mesText).group(1)
print("방법 2:", code_2)
# 방법 3: 모든 숫자 추출
codes_3 = re.findall(r'\b\d+\b', mesText)
print("방법 3:", codes_3)
"방법 1"은 네 자리 숫자를 추출합니다.
"방법 2"는 대괄호 안에 있는 숫자를 추출합니다.
"방법 3"은 모든 숫자를 추출합니다.
이 방법 중 필요에 따라 원하는 방법을 선택하여 사용할 수 있습니다.
'python3 selenium' 카테고리의 다른 글
Python selenium main manu, sub manu click (0) | 2023.11.27 |
---|---|
Python selenium select. combo_box (0) | 2023.11.27 |
python3 captcha(자동입력방지) 자동화 방법 (0) | 2023.11.26 |
PyInstaller로 만든 실행 파일에서 ModuleNotFoundError: No module named 'sklearn.ensemble._forest' 오류가 발생하는 경우 (0) | 2023.11.26 |
python3 selenium XPath를 사용하여 여러 조건으로 요소를 찾는 다양한 방법 (0) | 2023.11.23 |