当前位置: 首页 > news >正文

查建设标准网站北京pk10网站开发

查建设标准网站,北京pk10网站开发,怎么看得出网站是哪个公司做的,wordpress配合七牛云接上篇《30、JSONPath的介绍和使用》 上一篇我们介绍了JSONPath的基础和具体使用#xff0c;本篇我们来具体使用JSONPath#xff0c;来解析淘票票网站的地区接口数据。 一、引言 1、JsonPath的作用和用途#xff1f; JsonPath是一种用于在JSON数据中进行查询和提取的表达…接上篇《30、JSONPath的介绍和使用》 上一篇我们介绍了JSONPath的基础和具体使用本篇我们来具体使用JSONPath来解析淘票票网站的地区接口数据。 一、引言 1、JsonPath的作用和用途 JsonPath是一种用于在JSON数据中进行查询和提取的表达式语言。它提供了一种简洁且灵活的方式来定位和访问JSON数据结构中的特定字段或信息用于在JSON数据中定位、提取和操作所需的信息类似于XPath用于XML的作用。它广泛应用于数据解析、API测试、数据过滤和转换等领域为处理JSON数据提供了便捷和灵活的方式。 2、为什么选择淘票票网站地区接口数据作为示例 选择淘票票网站地区接口数据作为示例有以下几个原因 1实际应用性淘票票是一个广泛使用的在线电影票预订平台它的首页提供了一个选择所在地区的组件。通过解析该地区接口数据童鞋们可以学习如何从真实的数据源中提取所需的信息这与我们在日常项目中可能会遇到的情况相符。2数据结构复杂性淘票票网站的地区接口数据具有嵌套的JSON结构其中包含不同层级的地区信息。通过解析这样的复杂数据结构童鞋们可以学习如何处理和导航嵌套的JSON数据并运用JsonPath表达式从中提取特定字段或信息。3普适性JsonPath是一种用于查询和提取JSON数据的通用工具不依赖于特定的数据源或领域。通过使用淘票票网站的地区接口数据作为示例童鞋们可以了解和掌握JsonPath的基本用法然后将其应用于各种其他JSON数据的解析和操作场景。 综上所述选择淘票票网站地区接口数据作为示例旨在提供一个实际、复杂且普适的数据源以帮助读者更好地理解和应用JsonPath的解析能力。 二、淘票票网站地区接口简介 1、提供的API接口及其功能 我们打开淘票票网站首页https://dianying.taobao.com/可以看到最上面Logo右侧有一个地区的名称默认是当前访问者网络所在地区 点击该地区下面会出现可供选择的所有地区以拼音字母A-Z排序 我们F12打开浏览器的开发者接口选择“网络”或“NetWork”然后重新刷新页面 然后清空刷新页面后产生的请求数据 然后鼠标第一次放在区域组件上面就会看到网络控制台出现一个API接口调用记录 这个“cityAction”就是获取所有地区的接口。他的请求头内容如下包含地址请求方式等 这是一个get请求请求参数如下 其中“event_submit_doGetAllRegion”是一个重要参数他决定服务端返不返回全部的地区信息true是返回所有地区信息false则不返回。 请求响应的信息如下 可以看到确实是所有地区的json结构数据。 2、接口返回的数据结构和格式 我们单独将返回信息拷贝出来因为json数据有两千多行这里仅分析前半段结构这里需要先把外面包裹的一层“jsonp129()”去除因为其不是json结构中的内容 这里我们要获取的目标是returnValue对象中的内容而returnValue对象中又分为A-Z的子属性每个子属性中有一个数组数组的每个对象中的regionName就是以其父亲子属性名称为其拼音第一个首字母的地区名字。 如果我们使用python数据对象获取第一个地区的信息大概是下面这样 resultData.returnValue[A][0].regionName 不过下面我们要通过jsonpath来实现类似的效果。 三、选择合适的库执行JsonPath解析 在Python中有几个流行的库可以用于执行JsonPath解析操作。以下是其中一些选择和简要介绍 ●jsonpath-ng这是一个功能强大的JsonPath库提供了广泛的JsonPath表达式支持和灵活的查询功能。它具有较好的性能和完善的文档易于使用。●jsonpath_rw这个库提供了一种基于类似XPath的语法的JsonPath实现。它支持元数据过滤和复杂的查询操作适合处理大型JSON数据集。●jsonpath这是一个简单和轻量级的JsonPath库适用于小规模的JsonPath查询。它易于使用并且不需要额外的依赖。●pyjq虽然名字带有 jq但它实际上是一个能够使用JsonPath表达式进行高效查询的Python接口。它使用libjq C库的绑定可以处理大型JSON数据集。●jq 命令行工具如果你更喜欢使用命令行工具而不是直接在Python代码中解析JsonPath那么可以考虑使用jq工具。它是一个功能强大的命令行JSON处理工具支持JsonPath语法以及其他强大的查询和转换功能。 根据项目的需求我们不需要很复杂的jsonpath操作可以选择轻量级的JsonPath库来实现本次需求。 四、动手解析淘票票网站地区接口数据 我们要保留好刚刚刷新淘票票地区接口的head信息便于我们模拟浏览器操作获取API接口数据。 创建好一个空白python文件后首先我们引入json、urllib.request库和jsonpath库没有安装jsonpath的话可以在控制台执行“pip install jsonpath”命令安装 import json import urllib.request from jsonpath import jsonpath 然后我们要通过urllib访问API所以需要定义好url地址以及head头信息 # 淘票票地区信息的API接口地址 url https://dianying.taobao.com/cityAction.json?activityId_ksTS1691221344373_128jsoncallbackjsonp129action \cityActionn_snewevent_submit_doGetAllRegiontrue# 请求头需要Referer和Cookie headers {Referer: https://dianying.taobao.com/,Cookie: tc670bce12ae0f97a0d938e29a62f5fcd; cookie2162530e99a5874e274c23b700d4e500f; v0; _tb_token_ee436331b88eb; cnaiYk3HY1ehAgCAX0uVUKT1YXd; xlly_s1; isgBICAfBKZ8I5LvYyLxEmbkMJCUQ5SCWTTjZih_foRLRsudSCfoxmOYxnLjd21RRyr; tfstkdEYHnE2ckHSC6jOoEyQIJr-ZAkiOAJ_5bLUReaBrbOW6yBnBw4ukIKszyD_dqavNBeBp9wPBfKd4JenCyzbCPakxHq3A9B_5zOhskq32trKIHx3xkDPNrvDvyCN9ZGwIrmBoPElhDtVuKKfF0xZ1nBWgoCTNTBrBTOmtXFxGxOW0bo5vqz1ZwFr7VM51stCvPW3G.; lfBOjVyfmNeIm63VjBOfZnurza779GIRAguPzaNbMi9fPOkCH5PuAW1OIkHTMCnGVFsV6J38PiVPBBeYBqlYsjqj4axom4PHmnmOk-Wf..,} 这里的Referer和cookie是必须的否则服务器会校验失败无法返回数据 然后我们构建request对象发送http请求获取返回内容并打印 # 创建request请求对象 req urllib.request.Request(urlurl, headersheaders) # 发送HTTP请求并获取响应信息对象 response urllib.request.urlopen(req)# 获取响应的数据 content response.read().decode(utf-8) print(content) 运行程序我们会得到还没有解析的json数据 那么接下来我们的目标就是解析除我们获取到的中国所有地区名称。 首先我先解决一个问题就是把结果外面包裹的一层“jsonp129()”去除这个我们使用python普通的字符串分割即可 content content.split(()[1].split(()[0] content content.replace();, ) print(content) 这里是先通过前括号分割分割出“jsonp129”和后面带“)”的内容然后取后面带“)”的内容再分割一次左边第一个就是“jsonp129()”内部的内容了然后再将最后的“);”字符替换为空字符相当于去除它就可以得到中间的json内容了。 两次分割和一次替换后的效果 然后我们把解析出的内容拷贝到jsonpath分析工具上在线版地址https://www.lddgo.net/string/jsonpath然后准备测试我们的jsonpath解析语句 我们要获取地区名称首先要获取returnValue节点然后获取到该节点的所有子元素然后获取所有子元素中的regionName内容即可所以这个jsonpath语句如下 $.returnValue.*[*].regionName 效果 如果获取某个首字母地区的将第二层数据的*改为需要的首字母如获取C开头的地区语法为 $.returnValue.C[*].regionName 效果 既然已经获验证语法正确了我们就延续上面的代码写出python版本的jsonpath解析 # 解析 JSON 数据 json_data json.loads(content)# 进行 JSONPath 查询 regionNames jsonpath(json_data, $.returnValue.C[*].regionName)# 打印匹配结果 for regionName in regionNames:print(regionName) 运行效果 我们可以看到成功打印出了C开头的所有地区名称。 完整代码如下 # _*_ coding : utf-8 _*_ # Time : 2023-08-05 16:04 # Author : 光仔December # File : jsonpath解析淘票票地区信息 # Project : Python基础import json import urllib.requestfrom jsonpath import jsonpath# 淘票票地区信息的API接口地址 url https://dianying.taobao.com/cityAction.json?activityId_ksTS1691221344373_128jsoncallbackjsonp129action \cityActionn_snewevent_submit_doGetAllRegiontrue# 请求头需要Referer和Cookie headers {Referer: https://dianying.taobao.com/,Cookie: tc670bce12ae0f97a0d938e29a62f5fcd; cookie2162530e99a5874e274c23b700d4e500f; v0; _tb_token_ee436331b88eb; cnaiYk3HY1ehAgCAX0uVUKT1YXd; xlly_s1; isgBICAfBKZ8I5LvYyLxEmbkMJCUQ5SCWTTjZih_foRLRsudSCfoxmOYxnLjd21RRyr; tfstkdEYHnE2ckHSC6jOoEyQIJr-ZAkiOAJ_5bLUReaBrbOW6yBnBw4ukIKszyD_dqavNBeBp9wPBfKd4JenCyzbCPakxHq3A9B_5zOhskq32trKIHx3xkDPNrvDvyCN9ZGwIrmBoPElhDtVuKKfF0xZ1nBWgoCTNTBrBTOmtXFxGxOW0bo5vqz1ZwFr7VM51stCvPW3G.; lfBOjVyfmNeIm63VjBOfZnurza779GIRAguPzaNbMi9fPOkCH5PuAW1OIkHTMCnGVFsV6J38PiVPBBeYBqlYsjqj4axom4PHmnmOk-Wf..,}# 创建request请求对象 req urllib.request.Request(urlurl, headersheaders) # 发送HTTP请求并获取响应信息对象 response urllib.request.urlopen(req)# 获取响应的数据 content response.read().decode(utf-8) content content.split(()[1].split(()[0] content content.replace();, ) print(content)# 解析 JSON 数据 json_data json.loads(content)# 进行 JSONPath 查询 regionNames jsonpath(json_data, $.returnValue.C[*].regionName)# 打印匹配结果 for regionName in regionNames:print(regionName) 五、解析过程总结 从淘票票网站地区接口数据中提取信息的过程可以简要总结为以下几个步骤1、发起API请求构建正确的API请求包括URL、请求方法和必要的参数。2、获取响应数据发送API请求并获取服务器返回的响应数据。3、解析JSON数据将响应数据解析为JSON格式以便后续处理。4、使用JsonPath表达式编写合适的JsonPath表达式选择所需的字段或信息。表达式可以定位到特定的层级、条件筛选或数组索引等。5、提取信息使用JsonPath库或工具执行JsonPath解析操作提取目标信息。这可以是单个值、对象、数组或任何其他需要的数据结构。 通过以上步骤你可以从淘票票网站地区接口数据中成功提取出所需的信息并根据实际需求进行进一步处理、展示或存储。 至此有关使用jsonpath解析淘票票地区接口信息的内容就全部学习完毕下一篇我们来探讨BeautifulSoup技术的使用。 参考尚硅谷Python爬虫教程小白零基础速通教学视频 转载请注明出处https://guangzai.blog.csdn.net/article/details/132121833
http://www.zqtcl.cn/news/68693/

相关文章:

  • 你做的网站可视区域多少钱公司做网站之前要准备什么软件
  • 高端网站建设电话网络营销课程是什么
  • 建筑资格证书查询官网东莞网站优化方式
  • 天津集团网站建设在国际网站上做贸易怎么发货
  • 电子商务网站建设与策划网业公司
  • 网站改版技术要求县建设局 协会网站
  • 涉县住房和城乡规划建设局网站wordpress设置ip白名单
  • 网站是什么软件个人网站空间大小
  • 镇江网站建设价位杭州各类网站建设
  • 怎么样网站建设wordpress5.2发布
  • 四川省建设厅网站投诉贵州 网站建设
  • 广州微网站美食网站 源码
  • 临沂国际外贸网站建设企业策划书3000字
  • 延吉网站建设彩票使用iframe做网站
  • 百度企业云网站建设佛山网站建设
  • 更改网站模板内容免费网上开店
  • 2016市网站建设总结设计机构
  • pc响应式网站设计百度平台商家我的订单查询
  • 导航网址大全湘潭seo 上词多湘潭磐石网络
  • 支付网站认证费用怎么做分录公司网站最新版
  • 专门做pp他的网站WordPress 微信分享缩略图
  • 常用网站开发语言的优缺点电子商务网站建设与管理课后心得
  • 网站推广的策略敏捷开发
  • 网站设计与建设word设计理念网约车多少钱一辆
  • 北京兼职网站建设网络营销就业前景怎么样
  • jsp语言做网站中国营销咨询公司排名
  • 表情网站源码网站做关键词排行一个月多少钱
  • 网站运营优化方案公司用的邮箱有哪些
  • 精密电子东莞网站建设技术支持25个经典网站源代码
  • 网站经营许可备案c mvc 大型网站开发