scrapy gbk编码解析失败的问题

在使用scrpay 采集网易游戏网页时,遇到了编码失败的问题

http://play.163.com/17/0520/15/CKT0U63D00318PFI.html

code_datas = byte.decode(‘gbk‘)  

这里的‘gbk‘编码解析失败,查询原因得知,中文有三大编码,后面的标准是前面标准的扩展。

GB2312 < GBK < GB18030

将命令换成  code_datas = byte.decode(‘GB18030‘)

后解析正常。
时间: 2025-01-06 11:17:48

scrapy gbk编码解析失败的问题的相关文章

php接口开发时,数据解析失败问题,字符转义,编码问题

php接口开发时,数据解析失败问题,字符转义,编码问题 情景: A平台--->向接口请求数据---->接口向B平台请求数据---->B平台返回数据给接口---->接口返回数据给A平台. 数据经过多遍传递,出现编码.特殊字符转义的的问题. 遇到问题: (1)第一个问题:A发过来的数据,参数值是json字符串,接收到之后无法解析,查看数据后发现json数据中的双引号被转成了" 也就是预定义的字符被转成了HTML实体,需要使用 htmlspecialchars_decode()

PHP json_decode返回null解析失败原因

在PHP5.4之前 json_decode函数有两个参数json_decode有两个参数,第一个是待解析的字符串,第二个是是否解析为Arrayjson_decode要求的字符串比较严格:(1)使用UTF-8编码(2)不能在最后元素有逗号(3)不能使用单引号(4)不能有r,t,如果有请替换所以问题来了,不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,如下处理才能正确解析json数据: $result = json_decode(trim($contents,

Linux平台下 GBK编码转UTF-8编码

在写cocos的时候需要解析一个文件,但是文件是GBK编码方式,而cocos默认是使用UTF-8所以需要转码,这是在网上找到的代码,但是原本的不能用,这我修改过的. 系统环境:MacMini 编译器:Xcode 游戏引擎:cocos2d-x 头文件:#include <iconv.h> int Rf4FileDecode::code_convert(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,in

GBK编码和UTF-8编码互转的大坑

这几天遇到一个BUG,问题很简单,解决却花了3.4天,特意记录下来. linux环境下,将默认编码设置为GBK以后,运行GBK编码的脚本,调用一个Java的jar包,然后总jar包中返回GBK字符串.但是不知道是哪里出了问题,返回的参数一直是问号乱码. 放上脚本代码: #!/bin/bash #str="\"$1 $2 $3\"" str="\"http://iap.zh.gmcc.net/WebService/Notify.asmx chenl

Python解析xml文件遇到的编码解析的问题

使用python对xml文件进行解析的时候,如果xml文件的头文件是utf-8格式的编码,那么解析是ok的,但如果是其他格式将会出现如下异常: xml.parsers.expat.ExpatError: unknown encoding 因此,为了保证程序的正常运行,我们需要对读取的文件进行编码处理. 1.首先将读取的字符从原来的编码解析,并编码成utf-8: 2.修改xml的encoding: 代码如下: import sys import os import datetime import

中国天气网 JSON接口的城市编码解析及结果

最近在弄一个Android应用,其中一个功能是天气情况展示,准备使用google的天气API服务(http://www.google.com/ig/api?hl=zh-cn&weather=,,,, ),不想这个接口已经在几个月前关闭服务了.于是各种资料,最终决定使用 中国天气网 的服务. 中国天气网提供有两种数据格式的接口: 一. XML接口 http://flash.weather.com.cn/wmaps/xml/china.xml http://flash.weather.com.cn/

json logstash 解析失败 ctrl-code 1

"问题:从windows 通过flume传输到kafka的日志(GBK),然后再logstash 消费,用json 解析.有些日志解析报错:ctrl-code 1(SOH 文本头).分析:在终端上用gbk编码查看会有 方框的字符,可以判断该字符就是json 无法识别的控制字符(SOH).但是不知道kafka消费的时候显示成什么字符,如果知道这个(SOH)然后替换成,json 可以解析的字符就可以了. 解决办法:在日志里发现每一个(SOH)处,都显示为\u0001,这是16进制的ascll cod

字符串编码解析及字符编码输出

package 字符串编码解析; import java.io.UnsupportedEncodingException; public class Demo1 { public static void main(String[] args) throws UnsupportedEncodingException { String str = "中国"; //使用默认编码 byte[] gbk = str.getBytes("GBK"); //使用utf-8来编码

协议文档里要求字符串要用GBK编码

来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=328GPS平台.网站建设.软件开发.系统运维,找森大网络科技!http://cnsendnet.taobao.com unicode指的是一种编码字符集,即所谓的万国码,而UTF-8,UTF-16(LE,BE)都只是针对这种字符集的一种编码方式.  为什么要采用Unicode字符集呢,因为它能表示的字符几乎包含了世界上所有的字符,这在需要国际化的应用场景中可以很方便使用,一种字符集就可以表示所有的