ajax传输json数据格式 ajax发送json数据实例( 二 )


这样一来 , 我们可以说是完成了一半了(其他如果轻车熟路就基本没有什么了)
下一步就是打开目标验证一下有没有我们需要的数据
What????这又是啥情况
嘿嘿 , 这真的心里又是一惊 , 403码表示什么呢 , 就是我们没有权限浏览目标地址 。这是网站的自我保护行为 。
那咋办呢?我们没有权限啊 , 可是我们在自己原来的页面不是可以获取这些的嘛!
所以 , 这里就用到了让我们的虫去模拟人的操作 。在前篇一笔带过 , 其实就是通过修改Request-Headers中Cookie , User-Agent , Referer等信息来使我们的访问请求就像是真人访问一般 。而需要修改的内容可以在Headers中查看:
则可保存如下:
headers={‘Cookie’:’yfx_c_g_u_id_10000042=_ck18012900250116338392357618947; VISITED_MENU=%5B%228528%22%5D; yfx_f_l_v_t_10000042=f_t_1517156701630__r_t_1517314287296__v_t_1517320502571__r_c_2′,
‘User-Agent’:’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36′,
‘Referer’:’http://www.sse.com.cn/assortment/stock/list/share/’
}
通常包含这三个元素即足以证明是‘人’ 。这样我们已经可以找的到数据了 。
四、处理分析数据(将数据JSON格式化并解析JSON)
好了 , 数据找到了 , 并且我们可以在开发者工具preview中看到 , 数据储存为JSON格式(JSON格式的数据本质上是一种被格式化了的字符串 , 遵循一定的语法规则) , 现在我们先按照原来的方法先利用requests先获取到数据:
import requests
url=’http://query.sse.com.cn/security/stock/getStockListData2.do?&jsonCallBack=jsonpCallback99887&isPagination=true&stockCode=&csrcCode=&areaName=&stockType=1&pageHelp.cacheSize=1&pageHelp.beginPage=1&pageHelp.pageSize=25&pageHelp.pageNo=1&_=1517320503161′
response=requests.get(url,headers=headers) #注意 , 这一步即将我们‘人’的信息传入请求中
那么 , 下一步就要获取目标中的JSON数据 , 此时我们将开发者工具中Response复制后 , 粘贴到json在线解析及格式化验证验证是否是格式化的标准JSON数据 。
检验后发现结果出错
那么我们就需要分析哪里语法有问题 , 此处不过多赘述 , 直接贴出删除和添加的部分:
删除部分:开头的以及结尾的
添加部分:添加至开头 , 并在结尾添加‘}’即可看到解析出的JSON结构:
好了 , 到这里数据JSON格式化也基本完成 。而在解析时 , 我们需要用到python自带的json库以及jsonpath第三方库(若是windows系统直接在cmd输入pip install jsonpath 即可安装):
import json
from jsonpath import jsonpath #从jsonpath库中导入jsonpath方法
json_str='{“content”:’+response.text[19:-1]+’}’ #即将我们刚才分析出的结果进行格式化
unicodestr=json.loads(json_str) #json的loads()方法用于将json的字符串转换成python默认的unicode字符串 , 还有一个dumps()方法是将python对象转换成json字符串 , 其中的转换之间的关系不再赘述 , 有兴趣自行查阅相关资料
接下来就是通过jsonpath寻找我们需要的数据(类似于之前的soup.select()寻找的思想 , 但是这里是基于jsonpath的查询)
通过分析两个 , 我们可以轻易地发现其规律性 , 而jsonpath的使用可以参照jsonpath的简单入门 , 或者自行查阅官方文档 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: