爬虫-ajax请求遇到Unicode编码问题

摘要:
所容纳之物解码解析也是无用的。我回到网页观察并发现下图:ajax请求的响应字段的内容与我们获得的源代码完全相同。

2018-08--4爬取金色财经网页

网址:https://www.jinse.com/search/EOS

第一步:我观察了网页;发现了网页是一个发送ajax请求的网页,发现如下:

爬虫-ajax请求遇到Unicode编码问题第1张

然后 我就先爬取第一次请求出来的信息,剩下的请求可以经过比较每次请求的参数的变化来做比较,从而发现规律。

第二步:我上代码,用requests 请求网页第一次发送ajax请求的网址:地址在上图的header的地方:

获取发送ajax请求的源代码,然后拿到网页源码,因为在上述图片中 我们想要的数据全在源码中-----这是开始的想法,

然而拿到源码的时候,返回的是一堆Unciode编码的数据,用。content.decode('utf-8')解析也没用,我有回到网页去观察,发现了如下下图:

发现ajax请求的response字段的内容跟我们获取的源码一模一样。

爬虫-ajax请求遇到Unicode编码问题第2张

第三步:我我发现获取的内容是字典类型的数据,因此我想到了json ,因为json有两种结构:对象和数组。

1.对象: 对象以“{”开始,“}”结束,“key/value”之间运用 “,”分隔

var packjson={"name":"Liza" , "password":"123"}

2.数组:数组是值的有序集合。一个数组以”{“ 开始 以”}“ 结束。值之间运用逗号“,”隔开

var packjson=[{"name":"liza"},{"name":"asdas"}]

所以,我们获取的就是JSON格式的数据,而我们知道JSON格式的数据 需要用“双引号”括起来 不能用‘单引号’

所以我就试着用两种不同的方式来处理这个json格式显现出来的unciode编码的问题。

1.直接将源代码转化为json对象:

爬虫-ajax请求遇到Unicode编码问题第3张

2.利用python内置模块import json 包含两个函数:

a.json.dumps() 将json 对象转化为json字符串

b.json.loads() 将json 字符串转化为json对象 而我们现在就要用到json.loads(str) 所需要讲源代码转化为字符串形式才行

爬虫-ajax请求遇到Unicode编码问题第4张

总结: d当我们在ajax请求的时候遇到JSON格式的数据的时候,看见输数据是Unciode编码的数据 ,我们就要把数据变成JSON对象

免责声明:文章转载自《爬虫-ajax请求遇到Unicode编码问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于云计算基础架构IaaS层的几点看法CSS3基础(2)—— 文字与字体相关样式、盒子类型、背景与边框相关样式、变形处理、动画功能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

0x01 译文:Windows桌面应用Win32开发简介

本节课将简单介绍下使用C++开发Windows桌面应用的一些基础知识  目录: 准备你的开发环境 Windows 代码规范 操作字符串 什么是一个Window? WinMain:程序的入口点 1. 准备你的开发环境 安装 Windows SDK        要用C或者C++开发Windows 程序,你必须安装 Microsoft Windows So...

UNICODE与汉字编码互转

为了避免在浏览器中传输数据的时候出现中文乱码,我们可以将内容进行URL编码,当然也可以将内容进行UNICODE编码。将汉字进行UNICODE编码,如:“王”编码后就成了“\u738b”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的256以内的一个数字。而一个汉字是由两个字符组成,于是就很容易理解了,“738...

asp.net MVC中防止跨站请求攻击(CSRF)的ajax用法

参考: Preventing Cross-Site Request Forgery (CSRF) AttacksValidating .NET MVC 4 anti forgery tokens in ajax requests 在mvc中,微软提供了一个简单的方法来防止CSRF,就是在前端form表单里加上Anti-Forgery Tokens <...

Ajax提交表单数据(包含文件)

1. 表单数据->JSON->后台 2. 表单序列化【方式一】 jquery.serializejson.js <script src="http://t.zoukankan.com/js/jquery.serializejson.js"></script> <script> $('#btnRegi...

使用Python爬虫爬取网络美女图片

代码地址如下:http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip install requests -i https://mirrors.ustc.edu.cn/pypi/web/simple 安装lxml库(用于解析html文件) p...

GBK、GB2312、iso-8859-1之间的区别

转自:http://blog.csdn.net/jerry_bj/article/details/5714745 GBK、GB2312、iso-8859-1之间的区别   GB2312,由中华人民共和国政府制定的,简体汉字编码规范,大陆所有计算机中的简体中文,都使用此种编码格式。目前,我也不知道还有另外的简体汉字编码规范。与此对应的还有BIG5,是中华民国...