코덱은 python3 문자를 인코딩 할 수 없습니다.

세르 디아

이 웹 사이트에서 이름과 가격을 긁어 내고 싶습니다.

https://www.flipkart.com/laptops/~buyback-guarantee-on-laptops-/pr?sid=6bo%2Cb5g&uniqBStoreParam1=val1&wid=11.productCard.PMU_V2

이름과 가격은 모두 div태그 내에 있습니다.

이름:

여기에 이미지 설명 입력

가격

여기에 이미지 설명 입력

이름 인쇄는 잘 작동하지만 Price 인쇄시 오류가 발생합니다.

Traceback (most recent call last):
  File "c:\File.py", line 37, in <module>
    print(price.text)
  File "C:\Python37\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u20b9' in position 0: character maps to <undefined>

암호:

from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
import requests

response = requests.get("https://www.flipkart.com/laptops/~buyback-guarantee-on-laptops-/pr?sid=6bo%2Cb5g&uniq")
soup = BeautifulSoup(response.text, 'html.parser')
for a in soup.findAll('a',href=True, attrs={'class':'_31qSD5'}):
    name=a.find('div', attrs={'class':'_3wU53n'})
    price=a.find('div', attrs={'class':'_1vC4OE _2rQ-NK'})
    print(name.text)

여기에 이미지 설명 입력

그 차이점은 무엇입니까?

그렇다면 왜 그들 중 하나는 나에게 오류를주고 다른 하나는 그렇지 않습니까?

Joseph Rajchwald

파이썬이 해당 통화 기호에 문제가 있기 때문에 그 오류가 발생합니다. 인도 루피 기호는 언어에 따라 다르게 해석 되며 기본적으로 파이썬 charmap에 없습니다. 마지막 인쇄 명세서를로 변경 print(str(price.text.encode("utf-8")))하면 다음과 같은 결과가 표시됩니다.

b'\xe2\x82\xb961,990' b'\xe2\x82\xb940,000' b'\xe2\x82\xb963,854' b'\xe2\x82\xb934,990' b'\xe2\x82\xb948,990' b'\xe2\x82\xb952,990' b'\xe2\x82\xb932,990' b'\xe2\x82\xb954,990' b'\xe2\x82\xb952,990'

이 출력은 매우 예쁘지 않고 아마도 사용할 수 없을 것이므로 인쇄하기 전에 개인적으로 해당 기호를 자릅니다. 파이썬이 정말로 인도 루피 기호를 인쇄하기를 원한다면, 당신의 charmap에 추가 할 수 있습니다. 이 게시물의 다음 단계 에 따라 charmap에 사용자 지정을 추가 하십시오 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python3 'ascii'코덱은 문자를 인코딩 할 수 없습니다.

분류에서Dev

Python3 'ascii'코덱은 위치 135-136의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

분류에서Dev

'latin-1'코덱은 문자를 인코딩 할 수 없습니다.

분류에서Dev

UnicodeEncodeError : 'ascii'코덱은 문자를 인코딩 할 수 없습니다.

분류에서Dev

Python CSV는 문자를 인코딩 할 수 없습니다.

분류에서Dev

Python CSV는 문자를 인코딩 할 수 없습니다.

분류에서Dev

'Charmap'코덱은 문자를 인코딩 할 수 없습니다 (유니 코드 세르비아어 라틴어).

분류에서Dev

UnicodeEncodeError : 'charmap'코덱이 문자를 인코딩 할 수 없습니다 (Python 3.3에서)

분류에서Dev

Python : gb2312 코덱은 바이트를 디코딩 할 수 없습니다.

분류에서Dev

Linux 전용 'ascii'코덱은 위치 3의 문자 u '\ u0161'을 인코딩 할 수 없습니다. 서 수가 범위에 없습니다 (128).

분류에서Dev

UnicodeEncodeError : 'charmap'코덱은 108308-108313의 문자 위치를 인코딩 할 수 없습니다.

분류에서Dev

UnicodeDecodeError : 'ascii'코덱은 문자 u '\ u2019'를 인코딩 할 수 없습니다.

분류에서Dev

UnicodeEncodeError : 'latin-1'코덱은 문자 u '\ u2014'를 인코딩 할 수 없습니다.

분류에서Dev

Python3 소켓은 콘텐츠를 디코딩 할 수 없습니다.

분류에서Dev

UnicodeEncodeError : 'ascii'코덱은 인코딩 할 수 없습니다.

분류에서Dev

Python MYSQL 'ascii'코덱이 10-25 위치의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

분류에서Dev

UnicodeEncodeError : 'ascii'코덱이 위치 0-3의 문자를 인코딩 할 수 없습니다 : 서 수가 범위 (128)에 없습니까?

분류에서Dev

UnicodeEncodeError : 'ascii'코덱은 문자 u '\ u03c0'을 인코딩 할 수 없습니다.

분류에서Dev

UnicodeEncodeError : 'ascii'코덱은 15564 위치에 u '\ u2018'문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

분류에서Dev

'latin-1'코덱은 위치 23의 문자 u '\ u2014'를 인코딩 할 수 없습니다 : 서 수가 범위 (256)에 없습니다.

분류에서Dev

'latin-1'코덱은 위치 23의 문자 u '\ u2014'를 인코딩 할 수 없습니다 : 서 수가 범위 (256)에 없습니다.

분류에서Dev

'ascii'코덱은 2307-2309 위치의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

분류에서Dev

'ascii'코덱은 2307-2309 위치의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

분류에서Dev

UnicodeEncodeError : 'latin-1'코덱은 위치 0-5의 문자를 인코딩 할 수 없습니다. 서 수가 범위 (256)에 없습니다.

분류에서Dev

UnicodeEncodeError : 'ascii'코덱은 위치 0-2의 문자를 인코딩 할 수 없습니다. 서 수가 범위에 없습니다 (128).

분류에서Dev

'charmap'코덱이 HTML을 구문 분석하는 동안 Python에서 문자 오류를 인코딩 할 수 없습니다.

분류에서Dev

python UnicodeDecodeError : 'utf8'코덱은 바이트를 디코딩 할 수 없습니다.

분류에서Dev

Python-문자열을 올바르게 인코딩 할 수 없습니다.

분류에서Dev

UnicodeEncodeError : 'ascii'코덱은 위치 0-2의 문자를 인코딩 할 수 없습니다 : 파이썬에서 범위 (128)에없는 서수

Related 관련 기사

  1. 1

    Python3 'ascii'코덱은 문자를 인코딩 할 수 없습니다.

  2. 2

    Python3 'ascii'코덱은 위치 135-136의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

  3. 3

    'latin-1'코덱은 문자를 인코딩 할 수 없습니다.

  4. 4

    UnicodeEncodeError : 'ascii'코덱은 문자를 인코딩 할 수 없습니다.

  5. 5

    Python CSV는 문자를 인코딩 할 수 없습니다.

  6. 6

    Python CSV는 문자를 인코딩 할 수 없습니다.

  7. 7

    'Charmap'코덱은 문자를 인코딩 할 수 없습니다 (유니 코드 세르비아어 라틴어).

  8. 8

    UnicodeEncodeError : 'charmap'코덱이 문자를 인코딩 할 수 없습니다 (Python 3.3에서)

  9. 9

    Python : gb2312 코덱은 바이트를 디코딩 할 수 없습니다.

  10. 10

    Linux 전용 'ascii'코덱은 위치 3의 문자 u '\ u0161'을 인코딩 할 수 없습니다. 서 수가 범위에 없습니다 (128).

  11. 11

    UnicodeEncodeError : 'charmap'코덱은 108308-108313의 문자 위치를 인코딩 할 수 없습니다.

  12. 12

    UnicodeDecodeError : 'ascii'코덱은 문자 u '\ u2019'를 인코딩 할 수 없습니다.

  13. 13

    UnicodeEncodeError : 'latin-1'코덱은 문자 u '\ u2014'를 인코딩 할 수 없습니다.

  14. 14

    Python3 소켓은 콘텐츠를 디코딩 할 수 없습니다.

  15. 15

    UnicodeEncodeError : 'ascii'코덱은 인코딩 할 수 없습니다.

  16. 16

    Python MYSQL 'ascii'코덱이 10-25 위치의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

  17. 17

    UnicodeEncodeError : 'ascii'코덱이 위치 0-3의 문자를 인코딩 할 수 없습니다 : 서 수가 범위 (128)에 없습니까?

  18. 18

    UnicodeEncodeError : 'ascii'코덱은 문자 u '\ u03c0'을 인코딩 할 수 없습니다.

  19. 19

    UnicodeEncodeError : 'ascii'코덱은 15564 위치에 u '\ u2018'문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

  20. 20

    'latin-1'코덱은 위치 23의 문자 u '\ u2014'를 인코딩 할 수 없습니다 : 서 수가 범위 (256)에 없습니다.

  21. 21

    'latin-1'코덱은 위치 23의 문자 u '\ u2014'를 인코딩 할 수 없습니다 : 서 수가 범위 (256)에 없습니다.

  22. 22

    'ascii'코덱은 2307-2309 위치의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

  23. 23

    'ascii'코덱은 2307-2309 위치의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

  24. 24

    UnicodeEncodeError : 'latin-1'코덱은 위치 0-5의 문자를 인코딩 할 수 없습니다. 서 수가 범위 (256)에 없습니다.

  25. 25

    UnicodeEncodeError : 'ascii'코덱은 위치 0-2의 문자를 인코딩 할 수 없습니다. 서 수가 범위에 없습니다 (128).

  26. 26

    'charmap'코덱이 HTML을 구문 분석하는 동안 Python에서 문자 오류를 인코딩 할 수 없습니다.

  27. 27

    python UnicodeDecodeError : 'utf8'코덱은 바이트를 디코딩 할 수 없습니다.

  28. 28

    Python-문자열을 올바르게 인코딩 할 수 없습니다.

  29. 29

    UnicodeEncodeError : 'ascii'코덱은 위치 0-2의 문자를 인코딩 할 수 없습니다 : 파이썬에서 범위 (128)에없는 서수

뜨겁다태그

보관