TypeError: re.findall()의 바이트 유사 객체에 문자열 패턴 사용
정규 표현식을 사용하여 텍스트를 추출하려고 할 때 Python에서는 "TypeError: re.findall()의 바이트열류 객체에 문자열 패턴을 사용할 수 없습니다"라는 오류가 발생할 수 있습니다. 이 오류는 문자열 정규식 패턴을 사용하여 웹 페이지 작업 시 자주 발생하는 바이트열류 객체를 검색할 때 발생합니다.
이 문제를 해결하려면 바이트열류 객체를 정규식 검색을 적용하기 전의 문자열입니다. 제공된 코드에서:
import urllib.request import re url = "http://www.google.com" regex = r'<title>(,+?)</title>' pattern = re.compile(regex) with urllib.request.urlopen(url) as response: html = response.read().decode('utf-8') # Decode the bytes-like object title = re.findall(pattern, html) print(title)
.decode('utf-8')를 사용하여 html 변수를 디코딩하여 이를 정규식 패턴으로 처리할 수 있는 유니코드 문자열로 변환합니다. 이렇게 하면 코드가 웹페이지 제목을 성공적으로 추출할 수 있습니다.
위 내용은 웹 페이지에서 텍스트를 추출할 때 \'TypeError: re.findall()\의 바이트열류 객체에 문자열 패턴을 사용할 수 없습니다'를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!