问题描述:在使用pyquery.PyQuery打开本地文件的时候,会报错,不是安装的问题,报错如下

UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 84: illegal multibyte sequence

'gbk'编解码器无法解码位置84的0xa0字节:非法多字节序列

代码如下:

from pyquery import PyQueryresult = PyQuery(filename='21.html')
print(result('p'))

Traceback (most recent call last):
  File "E:/project/allow/cuiqingcai_pdf/014_PyQuery.py", line 28, in <module>
    result = PyQuery(filename='21.html')
  File "E:\project\venv\lib\site-packages\pyquery\pyquery.py", line 230, in __init__
    elements = fromstring(html, self.parser)
  File "E:\project\venv\lib\site-packages\pyquery\pyquery.py", line 95, in fromstring
    result = getattr(etree, meth)(context)
  File "src\lxml\etree.pyx", line 3426, in lxml.etree.parse
  File "src\lxml\parser.pxi", line 1861, in lxml.etree._parseDocument
  File "src\lxml\parser.pxi", line 1881, in lxml.etree._parseFilelikeDocument
  File "src\lxml\parser.pxi", line 1776, in lxml.etree._parseDocFromFilelike
  File "src\lxml\parser.pxi", line 1187, in lxml.etree._BaseParser._parseDocFromFilelike
  File "src\lxml\parser.pxi", line 601, in lxml.etree._ParserContext._handleParseResultDoc
  File "src\lxml\parser.pxi", line 707, in lxml.etree._handleParseResult
  File "src\lxml\etree.pyx", line 316, in lxml.etree._ExceptionContext._raise_if_stored
  File "src\lxml\parser.pxi", line 370, in lxml.etree._FileReaderContext.copyToBuffer
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 84: illegal multibyte sequence

特此百度了一下,很多小伙伴说把中文去掉中文就可以了,试了下果然成功,但是感觉哪里不对,去pyquery的完整官方文档中也没有发现

官网地址:https://pythonhosted.org/pyquery/

于是乎,换一种方式:先将文件使用utf-8格式读取到定义的变量中,再将这个变量作为PyQuery的参数

试了下。成功了(虽然不知道具体的原理)

代码如下:

from pyquery import PyQuerywith open("./21.html","r",encoding="utf-8")as f:content = f.read()
result = PyQuery(content)
print(result('p'))

执行结果:

<p style="height: 20px">这意味着要把这段文字用斜体来显示</p>
    <p style="display: inline;">如果强调太少</p>
    <p style="display: inline;">如果规定了 !DOCTYPE,</p>
    <p style="display: inline-block;">如</p>
    <p>asdfasdf</p>
    <p>0000000</p>

Python_PyQuery模块打开本地文件报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 84相关推荐

  1. 解决Python打开文件报错UnicodeDecodeError: 'gbk' codec can't decode byte

    用Python打开文件时报错: UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 10: illegal multi ...

  2. 解决Python报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 658: illegal multibyte

    解决Python报错–UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 658: illegal multibyte ...

  3. python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib

    python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib ...

  4. python报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x97 in position的解决方法

    在编写代码时,调用python解释器中的模块时出现 UnicodeDecodeError: 'gbk' codec can't decode byte 0x97 in position 20: ill ...

  5. GBK解码报错-UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa1 in position 98: illegal multibyte seq

    文章目录 背景 原因分析 解决办法 办法一 方法二 总结 背景 在PyCharm中,创建一个带有中文的html文件,进行读取的时候出现如下报错: UnicodeDecodeError: 'gbk' c ...

  6. Python报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 10

    Python报错(字节编码gbk) UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 10: illegal mul ...

  7. Python报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x8c in position 20: illegal multibyte...

    非法的多字节序列,转换的时候发生错误. 如果你在直接读取txt文件: 代码是open(f,"r") f=r"H:\python_project\a.txt" f ...

  8. import configparser config.read(config_path) 报错 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x

    import configparser config.read(config_path) 报错 UnicodeDecodeError: 'gbk' codec can't decode byte 0x ...

  9. python读txt文件报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode

    python读取文件时提示"UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal m ...

最新文章

  1. MFC单文档程序响应菜单消息的顺序
  2. java中数据库连接池_Java中的数据库连接池
  3. C++floyd warshall算法求最短路径(附完整源码)
  4. 推荐系统经典论文学习
  5. mysql optimizer组件_MySQL Optimizer
  6. 极简潮流!最新海报欣赏给你设计灵感
  7. 【HDU2825】Wireless Password【AC自动机,状态压缩DP】
  8. JDK 8_jstack命令使用
  9. TCP 协议学习小结
  10. 什么是美国能源之星计划?
  11. 网页文字涉及侵权怎么处理
  12. android sqlite 分词,sqlite3自定义分词器
  13. 作业录屏+露脸+视频裁剪+字幕添加(支持双语)
  14. 经营收款限制个人收款码,商户的个税会受影响吗?
  15. 样式集(14)填写信息弹窗
  16. 【微信小程序+echarts点亮中国地图】微信小程序echarts中国地图点亮功能
  17. 《上古天真论》第七讲文字版
  18. GetPrivateProfileString函数之新手上路
  19. JAVA String时间转化为数据库Date类型
  20. 参加微软学生开发者峰会,了解Azure和GitHub……

热门文章

  1. 关于STM32F407 PWM的理解
  2. 人工智能 漆桂林_领域专家走进平安科技(PA Tech),共议知识图谱为医疗AI赋能路径...
  3. 写了个使用QuickSilver发表饭否消息的脚本..
  4. POI导出Excel文档
  5. 从基础架构层面保障应用场景落地——11.11基础架构峰会在京举行
  6. 设置linux系统时间为北京时间
  7. TarjanLCA题集【夏天的风】
  8. 报错集“nginx: [emerg] unknown directive “set_real_ip_from“ in /usr/local/nginx/conf/nginx.conf:50 ngi
  9. linux kde. yum,yum安装gnome和kde桌面
  10. Android学习笔记之——获取WIFI的RSSI以及名称