Python信息抽取之乱码解决办法

发布时间 - 2026-01-11 02:06:27    点击率:

Python信息抽取之乱码解决办法

就事论事,直说自己遇到的情况,和我不一样的路过吧,一样的就看看吧

  信息抓取,用python,beautifulSoup,lxml,re,urllib2,urllib2去获取想要抽取的页面内容,然后使用lxml或者beautifulSoup进行解析,插入mysql 具体的内容,好了貌似很简单很easy的样子,可是里面的恶心之处就来了,第一,国内开发网站的人在指定网站编码或者是保存网站源码的时候并没有考虑什么编码,反正一句话,一个网站即使你用工具查看或者查看源码头信息查看到他们的源码是utf-8,或者GBK之类的,也别信,哎,什么东西信了就遭殃了,即<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

  以下给出一些流程:(具体各个库不是我这里向说的哦)

 import urllib2

   import chardet

  html = urllib2.urlopen("某网站")

  print chardet.detect(html) #这里会输出一个字典{'a':0.99999,'encoding':'utf-8'}

  好,这整个html的编码都知道,该插入以utf-8建立的mysql数据库了吧,但是我就在插入的时候发生错误了,因为我使用lxml以后的字符串不是utf-8,而是Big5(繁体字编码),还有各种未知编码EUC-JP(日本语编码),OK,我采取了unicode方法,先对这个字段进行解码,在进行编码

if chardet.detect(name)['encoding'] == 'GB2312':
  name = unicode(name,'GB2312','ignore').encode('utf-8','ignore')
elif chardet.detect(name)['encoding'] == 'Big5':
 name = unicode(name,'Big5','ignore').encode('utf-8','ignore')
elif chardet.detect(name)['encoding'] == 'ascii':
 name = unicode(name,'ascii','ignore').encode('utf-8','ignore')
elif chardet.detect(name)['encoding'] == 'GBK':
 name = unicode(name,'GBK','ignore').encode('utf-8','ignore')
elif chardet.detect(name)['encoding'] == 'EUC-JP':
 name = unicode(name,'EUC-JP','ignore').encode('utf-8','ignore')
else:
  name = '未知'

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Python信息抽取之乱码  # python  # 乱码解决办法  # 彻底搞懂 python 中文乱码问题(深入分析)  # python中文乱码不着急  # 先看懂字节和字符  # python dict乱码如何解决  # 日本语  # 的人  # 他们的  # 来了  # 好了  # 就在  # 和我  # 之处  # 就事论事  # 希望能  # 很简单  # 或者是  # 什么东西  # 就看  # 句话  # 谢谢大家  # 你用  # 解决办法  # 看吧  # 也别 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  北京网站制作的公司有哪些,北京白云观官方网站?  Laravel怎么实现模型属性的自动加密  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  使用豆包 AI 辅助进行简单网页 HTML 结构设计  JS碰撞运动实现方法详解  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  高端云建站费用究竟需要多少预算?  *服务器网站为何频现安全漏洞?  大同网页,大同瑞慈医院官网?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  HTML 中如何正确使用模板变量为元素的 name 属性赋值  北京网站制作公司哪家好一点,北京租房网站有哪些?  bing浏览器学术搜索入口_bing学术文献检索地址  微信公众帐号开发教程之图文消息全攻略  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  音响网站制作视频教程,隆霸音响官方网站?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Laravel如何实现API速率限制?(Rate Limiting教程)  Laravel如何保护应用免受CSRF攻击?(原理和示例)  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  微信h5制作网站有哪些,免费微信H5页面制作工具?  简历在线制作网站免费版,如何创建个人简历?  EditPlus中的正则表达式 实战(1)  在线制作视频网站免费,都有哪些好的动漫网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  中山网站推广排名,中山信息港登录入口?  如何在IIS中新建站点并配置端口与物理路径?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  如何注册花生壳免费域名并搭建个人网站?  Laravel如何发送系统通知?(Notification渠道示例)  Laravel如何升级到最新版本?(升级指南和步骤)  html5的keygen标签为什么废弃_替代方案说明【解答】  中国移动官方网站首页入口 中国移动官网网页登录  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  如何在云主机上快速搭建多站点网站?  如何在建站之星网店版论坛获取技术支持?  Python文本处理实践_日志清洗解析【指导】  android nfc常用标签读取总结  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  如何打造高效商业网站?建站目的决定转化率  大连网站制作公司哪家好一点,大连买房网站哪个好?  千库网官网入口推荐 千库网设计创意平台入口  详解Oracle修改字段类型方法总结  C++时间戳转换成日期时间的步骤和示例代码  Laravel怎么判断请求类型_Laravel Request isMethod用法  如何用AWS免费套餐快速搭建高效网站?  青岛网站建设如何选择本地服务器?