파이썬 질문이 있습니다.
조회수 652회
['01', '15 좋은상품 \xa0\xaS LEFT\xa0\xa0\xa0', '\n ', '034252340 ', ' 96,000 ', '814,000', '\n\xa0 \n\xa00\xa0\n\xa01\xa0\xa02\xa0\xa03\xa0\xa04\xa0\xa05\xa0 \n']
['']
['02', '16 추천상품 \xa0\xa0\xa0\xa0\xa0', '\n ', '0342742342 ', ' 96,000 ', '814,000', '\n\xa0 \n\xa00\xa0\n\xa01\xa0\xa02\xa0\xa03\xa0\xa04\xa0\xa05\xa0 \n']
Process finished with exit code 0
한 사이트를 긁어오고 있는데 결과물이 위와 같이 이상하게 나옵니다.
01, 15 좋은 상품 S LEFT, , 034252340, 96,000 , 814,000
적어도 이렇게 나와줘야 하는데,
구글 검색을 해보니 유니코드 문제라고도 하고해서
replace, RE 정규식을 해봐도 도무지 해결이 안되는데요.
# 에피소드 리스트를 만든다 >> 이것은 최종 출력할 때 이것을 돌면서 각 줄을 뿌려주기 위함이다.
episodes = []
# 에피소드의 내용이 담긴 태그들을 뽑아낸다.
table = bs.find('table', class_='td00')
for row in table.find_all('tr'):
values = []
for col in row.find_all('td'):
text = col.get_text()
rp_text = text.replace('(?<!\x0d)\x0a',' ')
values.append(rp_text)
if values:
episodes.append(values)
del episodes[0]
for episode in episodes:
print(episode)
힌트를 좀 부탁드립니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
unicodedata-normalize 를 사용해보세요.
from unicodedata import normalize s = '16 추천상품 \xa0\xa0\xa0\xa0\xa0' normalize('NFKD', s)
댓글 입력