鱼C论坛

 找回密码
 立即注册
查看: 1273|回复: 7

[作品展示] 额外话题--js爬虫的jsonpath模块

[复制链接]
发表于 2019-4-14 04:04:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Stubborn 于 2019-4-14 04:06 编辑

js动态加载的数据都是给你返回的json串数据,和xpath差不多的吧。
# -*- coding: utf-8 -*-
# @Time    : 2019-04-08 00:35
# @Author  : Ein
# @File    : xpath和jsonxpath对比.py
# @Software: PyCharm
book_json = {"store": {
    "book": [
      {
        "category": "数学",
        "author": "Ein",
        "title": "初中高数",
        "price": 8.95
      },
      {
        "category": "历史",
        "author": "Ethan",
        "title": "中庸",
        "isbn":"123456",
        "price": 16
      },
      {
        "category": "化学",
        "author": "Eining",
        "title": "氮气",
        "isbn":"8722058",
        "price": 17.85
      },
      {
        "category": "物理",
        "author": "Stubbron",
        "title": "牛顿第三定律",
        "price": 88.88
      },
      {
        "category": "英语",
        "author": "loae",
        "title": "六级英语大纲",
        "price": 77.68
      },
      {
        "category": "政治",
        "author": "习大大",
        "title": "三进三出",
        "price": 27.7
      }
    ],
    "bicycle": {
      "color": "red",
      "pricr": 19.95
    }
  }}
import jsonpath

#jsonxpath和xpath
#查找书点所有的author
ret = jsonpath.jsonpath(book_json,'$.store.book
  • .author') #res = tree.xpath('/store/boob/author') #所有的作者 ret1 = jsonpath.jsonpath(book_json,'$..author') #res1 = tree.xpath('//author') #查找store下所有的节点 ret2 = jsonpath.jsonpath(book_json,'$.store.*') #res2 = tree.xpath('/store/*') # 查找store下所有的price ret3 = jsonpath.jsonpath(book_json,'$.store..price') #res2 = tree.xpath('//store//price') #查找第三个book,返回的是一个列表 ret4 = jsonpath.jsonpath(book_json,'$..book[2]') #res2 = tree.xpath('//book[3]') #查找最后一本book ret5 = jsonpath.jsonpath(book_json,'$..book[(@.length-1)]') #res2 = tree.xpath('//book[last()]') #过滤包含有isbn键值的数据 ret6 = jsonpath.jsonpath(book_json,'$..book[?(@.isbn)]') #res2 = tree.xpath('//book[isbn]') #过滤price低于20的书籍 ret7 = jsonpath.jsonpath(book_json,'$..book[?(@.price<10)]') #res2 = tree.xpath('//book[price<10]')
  • 本帖被以下淘专辑推荐:

    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2019-4-14 10:17:51 | 显示全部楼层
    可以确定 某网页使用了jquery 把mp3的全路径给藏起来了,应该怎么破,或者我应该学习一些哪些资料
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2019-4-14 13:17:50 | 显示全部楼层
    wp231957 发表于 2019-4-14 10:17
    可以确定 某网页使用了jquery 把mp3的全路径给藏起来了,应该怎么破,或者我应该学习一些哪些资料

    我也是刚学,可以吧链接发给我瞅瞅
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 2019-4-14 13:28:19 | 显示全部楼层
    Stubborn 发表于 2019-4-14 13:17
    我也是刚学,可以吧链接发给我瞅瞅

    先谢谢了

    http://www.lrts.me/book/32931
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2019-4-14 16:37:53 | 显示全部楼层
    本帖最后由 Stubborn 于 2019-4-14 17:58 编辑


    很容易啊,我写个教程吧  戳我前进
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2019-4-14 17:59:39 | 显示全部楼层
    wp231957 发表于 2019-4-14 13:28
    先谢谢了

    http://www.lrts.me/book/32931

    OK 链接上面有了,看不懂思路留言即可
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 2019-4-14 21:15:39 From FishC Mobile | 显示全部楼层
    Stubborn 发表于 2019-4-14 17:59
    OK 链接上面有了,看不懂思路留言即可

    是32931啊,你那个不对吧
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2019-4-14 21:52:48 | 显示全部楼层
    wp231957 发表于 2019-4-14 21:15
    是32931啊,你那个不对吧

    你那个只能爬20章,剩余的提示需要app端听,没有试过能不能请求成功,暂时还不知道怎么破哦
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

    GMT+8, 2024-11-24 12:39

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表