zoukankan      html  css  js  c++  java
  • Python 3 写文件 UnicodeEncodeError: 'gbk' codec can't encode character

    Python 3 写文件

    UnicodeEncodeError: 'gbk' codec can't encode character

    网页代码中存在“”<meta charset="gbk">“”,如果存为 utf-8,再用浏览器打开,会出现乱码。因此,必须存为 gbk。

    解决方法:

    在写入 string 到文件时,采用   string.encode("gbk", 'ignore').decode("gbk", "ignore")

    from selenium import webdriver
    import time
    
    browser = webdriver.Firefox(executable_path ="D:\software\geckodriver-v0.30.0-win64\geckodriver.exe")
    
    get_html = "test2.html"
    # 打开文件,准备写入
    f = open(get_html, "w", encoding='gbk') ## gbk f = open(get_html, "w", encoding='utf-8')
    url = 'https://www.lewen5.com/book/45966/'  # 这里填你要保存的网页的网址
    browser.get(url)
    time.sleep(2)  # 保证浏览器响应成功后再进行下一步操作
    # 写入文件
    print(browser.page_source )  # 忽略非法字符
    
    print(type(browser.page_source) )
    #f.write(browser.page_source.encode('GBK',"ignore").decode())  # 忽略非法字符
    f.write(browser.page_source.encode("gbk", 'ignore').decode("gbk", "ignore"))  # 忽略非法字符
    #f.write(browser.page_source)  # 忽略非法字符
    print('写入成功')
    # 关闭文件
    f.close()
  • 相关阅读:
    思维导图github地址
    python操作mongodb根据_id查询数据的实现方法
    如何让nginx显示文件夹目录
    Scrapy爬虫返回302重定向问题解决方法
    K8s
    Dockerfile文件详解
    k8s简介
    mongodb存储过程
    存储过程详解
    Docker 镜像加速
  • 原文地址:https://www.cnblogs.com/emanlee/p/15643501.html
Copyright © 2011-2022 走看看