最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密。用谷歌自带的抓包工具也不能捕获到数据。于是下了Fiddler。
    Fiddler的爬取结果如下:

    可见,除了头信息之外,下面的数据信息显示成了乱码。这样就不能用程序模拟浏览器发送数据了。
    解决办法之一就是获取此字符串的十六进制编码。将Fiddler切换至Hexview,如下图所示:

    其中蓝色部分是header头信息,黑色字体就是传送的数据。你还可以右键-》取消勾选show header,这样显示的便都是数据信息。
    我们程序中可以将这个十六进制字符长串转化成字符串,然后发送到web服务器中。
    转化的程序如下所示:

public static byte[] GetByteArray(string frame)
{byte[] buffer = new byte[frame.Length / 2];    //注意每两个十六进制字符代表一个二进制编码for (int i = 0; i < frame.Length / 2; i++){int t = GetData(frame[2 * i]) * 16 + GetData(frame[2 * i + 1]);buffer[i] = (byte)t;}return buffer;
}static int GetData(char p)    //获得ASCII编码
{if (p <= '9' && p >= '0'){return p - '0';}else{return p - 'a' + 10;}
}

1、先选中你要导出的十六进制字符长串-》右键-》save selected bytes-》到一文件中。    但是遇到一个问题就是,如何将Fiddler的十六进制字符串拷贝出来,若手动抄写,很不现实,一来太长,二来怕错。可以借助Notepad++或者UltraEdit转化过来。本人用Notepad++实验成功:

2、用Notepad++打开此文件,发现仍然是乱码
    3、下载十六进制显示插件下载:HexEditor_0_9_5_UNI_dll.zip
    4、解压后将HexEditor.dll文件放在Notepad++安装目录的plugins目录下,重启notepad++

5、再次用Notepad++打开文件,plugins->HEX-Editor->View in HEX,显示如下:

6、选中你要复制的十六进制字符串,复制,然后新建文本,粘贴,就是一个带有空格的字符串了。去除空格和换行即可。
    7、有一种快速去除空格的方法,选中一个空格,ctrl+f,切换到替换标签,然后点击替换所有按钮,这样将所有的空格都替换成了空字符串,也就删除了所有空格。

转载请注明: 康瑞的部落 »  爬虫爬数据时,post数据乱码解决办法

爬虫爬数据时,post数据乱码解决办法相关推荐

  1. mysql导入数据时 USING BTREE 错误解决办法

    今天在往测试数据库导入数据时,其中一个商品类目表报USING BTREE 错误: You have an error in your SQL syntax; check the manual that ...

  2. STM32F103ZE单片机FSMC接口读取NAND Flash芯片K9F1G08U0E的数据时出现数据丢失的解决办法

    [问题] STM32单片机使用FSMC读取K9F1G08U0E NAND Flash时,出现部分字节丢失的情况.例如:Flash存储器中存储有连续的0xff字节,则在进行连续读(Page Read)操 ...

  3. 爬虫爬取到空网页的解决办法和防止被封号的技巧---设置headers和proxies

    文章目录 1. 设置headers 2. 设置proxies 3. 爬虫的技术升级过程 1. 设置headers 通过Python的requests.get(url)有时候会爬到的内容有时候是空网页. ...

  4. csv文件使用excel打开乱码解决办法

    用'utf-8'格式存储的csv文件,在使用excel打开时,出现乱码解决办法: 1.使用记事本打开csv文件 2.另存为Unicode格式的csv文件 3.此时再用excel打开时,就不是乱码了

  5. MySQL 插入数据时,中文乱码问题的解决

    MySQL 插入数据时,中文乱码问题的解决 参考文章: (1)MySQL 插入数据时,中文乱码问题的解决 (2)https://www.cnblogs.com/sunzn/archive/2013/0 ...

  6. mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法

    mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...

  7. 对爬虫爬取到的数据进行存储

    已写章节 第一章 网络爬虫入门 第二章 基本库的使用 第三章 解析库的使用 第四章 数据存储 第五章 动态网页的抓取 文章目录 已写章节 第四章 数据存储 4.1 文件存储 4.1.1 TXT文件存储 ...

  8. 安卓手机更新过程手机乱码_王者荣耀安卓更新更新时出现乱码解决办法

    王者荣耀1月14日进行版本大更新了,一般情况下大版本更新容易出问题的是苹果,但这次反过来是安卓,包括更新卡在45%.资源包升级失败.解析包出现问题等情况,这些都如何解决呢?小编马上就给大家分享一下解决 ...

  9. FineReport 7.0:帆软报表展示数据时,数据只有一页,但是多出一页空白页。

    帆软报表展示数据时,数据只有一页,但是多出一页空白页. 问题图片: 问题原因:报表中存在空白数据列. 解决方法:选中空白数据列,右键,选中删除列即可. 问题图片: 问题原因:报表中存在空白数据列. 例 ...

最新文章

  1. MLIR中间表示与编译
  2. 线上 CPU100% 异常案例:一个正则表达式引发的血案
  3. oracle动态 returning,oracle returning
  4. CodeForces 864E Fire dp递推
  5. AI理论知识整理(9)-级数与数列收敛
  6. 信息学奥赛一本通 1962:【13NOIP普及组】表达式求值 | 洛谷 P1981 [NOIP2013 普及组] 表达式求值
  7. Vue和后台交互的方式
  8. 下载丨8月数据库技术通讯:不合理业务设计导致CPU飙升
  9. 是否有任何python库可以从自然语言中解析日期和时间?
  10. mysql 视图view
  11. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_1_两种获取Stream流的方式...
  12. ssh 两个mysql数据库_SSH下,关于多数据库的两个问题
  13. django2.2-form表单详解
  14. 墨者学院 - IIS写权限漏洞分析溯源
  15. 北斗导航 | 卫星导航系统中的GNSS信号技术参数/技术参数/规格
  16. java调试查看调用堆栈_关于调试:如何阅读和理解java堆栈跟踪?
  17. linux 安装SopCast实现在线直播
  18. 将自己的数据制作成cityscape格式
  19. 字节跳动:雀魂启动!(Python语言实现)
  20. SpringBoot的Cacheable缓存入门

热门文章

  1. C/C++编程学习 - 第4周 ⑦ 判断是否为两位数
  2. ubuntu批量解压分卷文件
  3. Hadoop3.2.0 YARN 容量调度程序
  4. 01.Node.JS 命令行窗口
  5. 标注工具:parselmouth(歌声合成语音合成标注)
  6. 15位和18位的身份证正则,以及通过身份证获取出生日期
  7. 设计模式六大原则(SOLID)
  8. vs2015 产品密钥
  9. 服务器操作系统版本号怎么看,服务器怎么看操作系统版本号
  10. 大数据智慧交通项目【完整资料】