如何识别网站的字符编码?

2024-01-08

我正在尝试做的事情:我从数据库中获取 uri 列表并下载它们, 删除停用词并计算这些词在网页中出现的频率, 然后尝试保存在mongodb中。

问题:当我尝试将结果保存到数据库中时出现错误 bson.errors.invalidDocument:文档必须是有效的 utf-8

它似乎与代码“\xc3someotherstrangewords”、“\xe2something”相关 当我处理网页时,我尝试删除标点符号,但我无法删除重音符号,因为我会得到错误的单词。

我已经尝试过的我尝试通过网页的标题识别字符编码 我尝试过使用 chardet

利用 re.compile(r"[^a-zA-Z]") 和/或 unicode(variable,'ascii', 'ignore');
这对非英语语言不利,因为它们会删除重音符号。

我想知道的是:
有人知道如何识别字符并翻译成正确的单词/编码吗?
例如从网页“\xe2”获取此内容并翻译为“â”

(英语不是我的母语所以请原谅我) 编辑:如果有人想看源代码 https://github.com/raphaeljlps/ProjetoIC/


找出网站的正确字符编码并不容易,因为标头中的信息可能是错误的。美丽汤 http://www.crummy.com/software/BeautifulSoup/bs4/doc/在猜测字符编码并自动将其解码为 Unicode 方面做得非常好。

from bs4 import BeautifulSoup
import urllib

url = 'http://www.google.de'
fh = urllib.urlopen(url)
html = fh.read()
soup = BeautifulSoup(html)

# text is a Unicode string 
text = soup.body.get_text()
# encoded_text is a utf-8 string that you can store in mongo
encoded_text = text.encode('utf-8')

另请参阅以下问题的答案这个问题。 https://stackoverflow.com/questions/1495627/how-to-download-any-webpage-with-correct-charset-in-python

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何识别网站的字符编码? 的相关文章

  • 如何在python中将所有参数转换为字典

    我想要我的功能func args kwargs 返回一本字典 其中包含我提供给它的所有参数 例如 func arg1 arg2 arg3 value3 arg4 value4 应该返回一本这样的字典 arg1 value1 arg2 val
  • Python带有负数的排序列表[重复]

    这个问题在这里已经有答案了 为了尝试通过练习来学习Python 我正在尝试使用Python来实现和测试快速排序算法 实现本身并不困难 但是排序的结果有点令人费解 当我对列表进行排序时 35 1 2 7 8 3 4 20 6 53 结果给了我
  • BERT 获取句子嵌入

    我正在复制代码这一页 https colab research google com drive 1yFphU6PW9Uo6lmDly ud9a6c4RCYlwdX 我已将 BERT 模型下载到本地系统并获取句子嵌入 我有大约 500 00
  • logger.warning("MSVC is not support") 在 Windows 10 上安装 pystan 时出错

    我的目标是在我的 Windows 10 计算机上安装 fbprophet 我正在尝试使用 pip 安装 pystan 先知的主要依赖项 但大约一分钟后 我收到以下错误 Traceback most recent call last File
  • os.listdir 和 os.path.isdir 混淆,isdir 是随机的吗?

    我有下面这个简单的过程来列出文件夹的内容 def some process self dir3 os listdir Users somepath programming somepathanother Data samples for d
  • Python 的分布式锁管理器

    我有一堆具有多个实例的服务器 这些实例访问的资源对每秒的请求有硬性限制 我需要一种机制来锁定所有正在运行的服务器和实例对此资源的访问 我在github上找到了一个restful分布式锁管理器 https github com thefab
  • 包装一个类,其方法返回该类的实例

    我需要编写一个类来包装第三方包中的类 通常 第三方类具有返回第三方类实例的方法 这些方法的包装版本必须将这些实例转换为包装类的实例 但我无法使其工作 我正在使用 Python 2 7 和新式类 基于创建一个包装类来围绕现有函数调用前置和后置
  • Redis - 错误:值不是有效的浮点数

    我在 Redis 中有一个排序集 我试图通过在Python代码中使用zincrby来更新特定元素的计数器值 例如 conn zincrby usersSet float 1 user1 但它显示错误为 错误 值不是有效的浮点数 我在 cli
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 使用解析将 ** 运算符更改为幂函数?

    我的要求是将 运算符更改为幂函数 例如 1 Input B 2 Output power B 2 2 B 2 T 2 X Output power B 2 我写了下面的正则表达式来解决这个问题 rx r a zA Z0 9 a zA Z0
  • 如何在 scikit-learn 的 SVM 中使用非整数字符串标签? Python

    Scikit learn 具有相当用户友好的用于机器学习的 python 模块 我正在尝试训练用于自然语言处理 NLP 的 SVM 标记器 其中我的标签和输入数据是单词和注释 例如 词性标记 而不是使用双精度 整数数据作为输入元组 1 2
  • 磁盘寻道时间测量方法

    我编写了一个脚本来测量 HDD 上的寻道时间 并且其完成方式的微小变化会导致显着不同的时间 第一个周期在磁盘开头的区域内进行跳转 第二个周期选择磁盘上执行查找的随机区域 相同大小 这种方法显然不同 但我不明白为什么它会改变结果 请注意 对于
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • 如何限制 sympy FiniteSet 包含符号

    我对 sympy 还很陌生 我尝试使用 linsolve 求解线性方程组 这产生了一个可以用以下两行重现的解决方案 d symbols d solution sets FiniteSet d 1 d 4 d 5 d 我的解决方案遵循限制 即
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 无法将图形另存为 .eps [gswin32c 无法识别]

    我使用Pylab 64位 的Enth tough冠层 在我的报告中 我需要使用乳胶 Xelatex 并使用matplotlib完成图 为了获得第一个想法 我刚刚复制了第二个示例http matplotlib org users usetex
  • 为什么我只能用管理员权限才能导入Python中的某些模块?

    我正在努力解决 Python 2 7 中的一些奇怪问题 我写了一个很长的工具 在其中导入不同的模块 我必须首先使用它安装pip 该工具将在公司内部共享 不同的用户在其特定机器上拥有不同的权限 当另一个用户登录我的计算机 我在那里拥有管理员权
  • python SSLError("握手错误:SysCallError(-1,'意外的 EOF')",),))

    我正在抓取这个 aspx 网站https gra206 aca ntu edu tw Temp W2 aspx Type 2 https gra206 aca ntu edu tw Temp W2 aspx Type 2 根据需要 我必须解
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch

随机推荐

  • 如何在Java中解码http POST数据?

    我正在使用 Netty 并且必须接受并解析 http POST 请求 据我所知 Netty 没有内置对 POST 的支持 只有 GET 的支持 这是一个相当低级的库 处理原始网络操作 使用 servlet 容器 开箱即用地完成所有这些工作
  • 如何将数组转换为数学计算表达式? [复制]

    这个问题在这里已经有答案了 我尝试编写一个计算数学表达式并将每个符号存储到一个数组中 例如 我想转换数组 let arr 10 2 1 3 对于以下表达式 let result 10 2 1 3 1 关于如何实现这一目标有什么建议吗 它不会
  • 如何使用 Gradle 访问 Java 项目中的资源?

    我有一个JavaFX https en wikipedia org wiki JavaFX我正在使用 Gradle 文件构建项目 并且我正在 IntelliJ 中编写所有内容 在其中 我使用javafx scene media Media
  • 更改嵌入到按钮的图像的颜色(Swift3)

    我能够更改图像的颜色UIButton从黑到白 代码如下 extension UIImage func maskWith color UIColor gt UIImage UIGraphicsBeginImageContextWithOpti
  • 函数返回未分配给变量

    如果调用 非 void 函数 但不将其返回值分配给变量怎么办 例如 getchar 我一直想知道这样的值会发生什么 我听过一些幽默的解释 比如 它消失了 等等 但我真的很想知道真相 有什么办法可以恢复这样的价值吗 谢谢 这实际上是编译器 C
  • 在 numpy 矩阵中一次打乱一列的有效方法

    我需要一一打乱 numpy 矩阵的所有列 这是我当前的代码 n p X shape val for i in range p Xt X copy np random shuffle Xt i print Xt 我每次都抄X到变量Xt 这看起
  • 我把GC.KeepAlive放在哪里?

    我需要在非托管代码中注册回调 但看起来 GC 一直在收集我的引用 所以我添加了GC KeepAlive callback pin 但没有效果 我不知道应该放在哪里GC KeepAlive 这是我将自己的回调注册到非托管事件的代码 它是从线程
  • 下拉菜单被切断

    我有一个下拉菜单 它似乎由于父 div 而被剪切 即如果我增加父 div 的高度 下拉菜单似乎会变得可见 请帮忙 下面是我的代码 MarkUp div class container div class menu rounded ul cl
  • 如何在 Ruby on Rails 中基于每个操作禁用日志记录?

    我有一个 Rails 应用程序 它的一个操作被频繁调用 在我开发时很不方便 因为它会产生大量我不关心的额外日志输出 我如何才能让 Rails 不记录这一操作的任何内容 控制器 操作 参数 完成时间等 我也想在 RAILS ENV 上对其进行
  • 将 json 结果转为动态

    对于初学者来说 我有一个非常复杂的问题 首先我从 json 得到这个结果 success true timeframe true start date 2018 01 01 end date 2018 01 05 source TRY qu
  • 我的 tomcat 正在运行,但无法连接到 http://localhost:8080

    Tomcat突然停止连接http 本地主机 8080 http localhost 8080今天 直到昨天为止它一直有效 我没有改变任何东西 Windows Windows 7 64 位 雄猫 7 0 59 任何人都可以帮忙吗 以下是我的
  • 一个组件中的多种材质分页在 Angular 中不起作用

    我尝试创建一个组件 其中包含两个数据表 每个数据表都有另一个数据源 由于我的原因 我的表格在组件加载后不可见 ngIf所以我无法使用ngAfterViewInit 相反 我正在使用用户的解决方案在Github上指出 https github
  • 是否可以从 Visual Studio 2010 创建 Office 2003 VSTO 加载项?

    我们现有适用于 Word 2003 和 Excel 2003 的 VS 2008 VSTO 加载项 目前我们无法升级 Office 版本 我们刚刚尝试将解决方案升级到 VS 2010 它可以正常转换和编译 但在构建和运行加载项时 我们收到一
  • Java 为什么 Map 的 Map (如:Map>)不可序列化

    我们正在使用HashMap in JDK 1 7我在代码审查期间遇到了一些问题声纳Qube 请考虑以下示例 public class SerializationTest implements Serializable private Map
  • DataTypeAttribute 验证在 MVC2 中工作吗?

    据我所知 System ComponentModel DataAnnotations DataTypeAttribute 不适用于 MVC v1 中的模型验证 例如 public class Model DataType EmailAddr
  • 已为布局页面“~/Views/Shared/_Layout.cshtml”定义但未呈现部分:“head”

    我创建了一个新的 MVC4 互联网应用程序 我正在关注 ASP NET MVC4 in Action 这本书 本章是Ajax 是MVC 中的ASP NET 索引的视图是这样的 section head Scripts AjaxDemo js
  • Javascript onclick 函数被立即调用(不是在单击时调用)? [复制]

    这个问题在这里已经有答案了 我正在尝试创建一个链接 它看起来和感觉起来都像 a 标记项 但运行一个函数而不是使用 href 当我尝试将 onclick 函数应用于链接时 它会立即调用该函数 无论该链接从未被单击过 此后任何单击该链接的尝试都
  • Maven 中出现“需要 webxml 属性”错误

    我收到以下错误 组装 WAR 时出错 需要 webxml 属性 如果在更新模式下执行 则需要预先存在的 WEB INF web xml 我有web xml在正确的地方projectname src main webapp WEB INF w
  • Spring MVC 与 JPA 数据绑定

    我的问题是让 Spring 将从表单获取的数据绑定到 JPA 实体 奇怪的是 如果我不查看 BindingResults 它就可以正常工作 BindingResults 表示 当为字段毕业传入空字符串时 会出现绑定错误 但我知道它确实正确绑
  • 如何识别网站的字符编码?

    我正在尝试做的事情 我从数据库中获取 uri 列表并下载它们 删除停用词并计算这些词在网页中出现的频率 然后尝试保存在mongodb中 问题 当我尝试将结果保存到数据库中时出现错误 bson errors invalidDocument 文