V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daiv
V2EX  ›  问与答

一网页上 ajax,进行了 GET 操作,如何获取 或者抓取 具体信息?

  •  1
     
  •   daiv · 2014 年 11 月 2 日 · 3293 次点击
    这是一个创建于 4096 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大家好,我尝试使用chrome的 Inspect element中的Network来监测,没能看到具体的get过程。
    (我在 yahoo finance的时候,就可以通过类似的方式,抓到:
    

    尝试抓取GET信息网页中的部分js代码:
    var g=this._symbolSearchRequest=$.ajax({type:"GET",dataType:"json",url:f,data:{text:a,exchange:b,type:c}}).done(function(a){e&&e(a)}).always(function(){this._symbolSearchRequest===g&&delete this._symbolSearchRequest})};


    我非常想知道,这个get 的参数,我想抓取一个例子,我就差不多知道参数设置了。


    请问有什么方法 或者 工具来分析 或 抓取这个GET信息么?
    一定要全部看到原js文件?

    谢谢大家。
    第 1 条附言  ·  2014 年 11 月 2 日
    感谢hq,通过他介绍的工具charles,分析出,居然是websocket。

    请问是不是 websocket就没有办法读取到数据了?

    谢谢,
    17 条回复    2014-11-03 11:37:43 +08:00
    hq
        1
    hq  
       2014 年 11 月 2 日   ❤️ 2
    免费的wireshark,收费的charles都是干这个的
    https://www.wireshark.org/
    http://www.charlesproxy.com/
    daiv
        2
    daiv  
    OP
       2014 年 11 月 2 日
    @hq 太感谢了,我立刻试一下!你的ID

    (__) 
      /oo\\________
      \ /     \---\
      \/    /  \  \
       \\_|___\\_|/  *
        ||  YY|
        ||  ||
    hq
        3
    hq  
       2014 年 11 月 2 日
    @dalv 我的ID刚注册的,以前的密码忘了,邮箱被gmail关了,找不回来了
    daiv
        4
    daiv  
    OP
       2014 年 11 月 2 日
    @hq 请问https 是不是不能抓取呀?
    daiv
        5
    daiv  
    OP
       2014 年 11 月 2 日
    @hq 查找了一下,可以https,我在研究研究,charles会比wireshark强很多么?想听听你的经验
    ashamp
        6
    ashamp  
       2014 年 11 月 2 日
    这个我得标记一下,用得上
    kisshere
        7
    kisshere  
       2014 年 11 月 2 日
    用phantomJs
    libo26
        8
    libo26  
       2014 年 11 月 2 日
    我一般用fiddler+IEInspector
    daiv
        9
    daiv  
    OP
       2014 年 11 月 2 日
    @kisshere websocket的话,无法获取内容吧
    @libo26 websocket的话,无法获取内容吧
    nealfeng
        10
    nealfeng  
       2014 年 11 月 2 日
    在你截图这个界面,点左边那个链接,就会出现新的界面,然后看response就能看到返回结果了。
    pein
        11
    pein  
       2014 年 11 月 2 日
    点进去不就能看的到了嘛 参数什么的都能看到啊
    daiv
        13
    daiv  
    OP
       2014 年 11 月 2 日
    @nealfeng 这个我知道,我现在用 charles分析出来了。
    daiv
        14
    daiv  
    OP
       2014 年 11 月 2 日
    @pein 这个我知道,我现在用 charles分析出来了是 websocket呀。


    @libo26 太好了,我立刻试试,谢谢~
    daiv
        15
    daiv  
    OP
       2014 年 11 月 2 日
    @libo26 您好,请问,我现在有办法查看,有办法用python程序获取这些 websocket的消息吗?

    谢谢
    breeswish
        16
    breeswish  
       2014 年 11 月 3 日 via Android
    首先从你的截图来看,这就是个普通的 get,不是websockets

    然后,点击这个请求就可以看请求详情了,包括发送到哪里和发送了什么,以及返回了什么。另外在你截图这个地方右侧有个请求来自于,点开以后可以看到具体触发请求的代码。

    最后,对于websocket,也可以直接在chrome审查元素里看。websocket一般状态显示为pending,点开以后frames里就是消息主体

    chrome的审查元素足够强大了,感觉根本不需要其他工具
    breeswish
        17
    breeswish  
       2014 年 11 月 3 日 via Android
    对了补充一句,chrome审查元素网路标签要在发请求前打开,一般就是先打开network再刷新,否则你只能获取打开network以后所有的请求,不能获得之前建立的请求(比如保持长连接的websockets一般就会看不到了)
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5771 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:41 · PVG 11:41 · LAX 19:41 · JFK 22:41
    ♥ Do have faith in what you're doing.