代码之家  ›  专栏  ›  技术社区  ›  Buddhika Chathuranga

Python3 UnicodeEncodingError

  •  0
  • Buddhika Chathuranga  · 技术社区  · 6 年前
    from selenium import webdriver
    from bs4 import BeautifulSoup
    
    driver = webdriver.Chrome(executable_path = 
    r'C:\chromedriver_win32\chromedriver.exe')
    
    driver.get('https://www.imdb.com/')
    
    html_doc = driver.page_source
    
    soup = BeautifulSoup(html_doc, 'lxml')
    print(soup.prettify())
    
    driver.quit()
    

    我尝试了这个代码,它给出了这个错误。

    回溯(最近一次呼叫最后一次): 文件“E:\Practice\WebScraping\webscrape.py”,第11行,in 打印(soup.prettify()) 文件“C:\Users\vmbck\AppData\Local\Programs\Python\Python36\lib\encodings\cp1252.py”,第19行,编码 返回编解码器。charmap\u encode(输入,自身错误,编码表)[0] UnicodeEncodeError:“charmap”编解码器无法对位置241524中的字符“\u25ec”进行编码:字符映射到

    然后我尝试了编码(“utf-8”)

    html_doc = driver.page_source.encode("utf-8")
    

    它再次给出了错误

    如何在不获取UnicodeEncodeError的情况下获取page\u源

    2 回复  |  直到 6 年前
        1
  •  1
  •   rawwar    6 年前
    import requests
    from bs4 import BeautifulSoup
    a = requests.get('https://www.imdb.com/')
    soup = BeautifulSoup(a.content, 'lxml')
    print(soup.prettify())
    

    上面的代码与您编写的代码类似。但是,要解决unicode错误,您可以尝试执行以下帖子中建议的操作 Python Unicode Encode Error

        2
  •  -1
  •   bhavesh27    6 年前

    如果编码到utf-8失败,请尝试编码到ascii

    尝试两种方法:-

    print(soup.encode('utf-8').prettify())
    

    print(soup.encode('ascii').prettify())