daiv
V2EX  ›  问与答

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

  •  1
     
  •   daiv · Nov 2, 2014 · 3663 views
    This topic created in 4389 days ago, the information mentioned may be changed or developed.
    大家好,我尝试使用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文件?

    谢谢大家。
    Supplement 1  ·  Nov 2, 2014
    感谢hq,通过他介绍的工具charles,分析出,居然是websocket。

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

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

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


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

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

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

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

    chrome的审查元素足够强大了,感觉根本不需要其他工具
    breeswish
    breeswish
    Nov 3, 2014 via Android
    17
    对了补充一句,chrome审查元素网路标签要在发请求前打开,一般就是先打开network再刷新,否则你只能获取打开network以后所有的请求,不能获得之前建立的请求(比如保持长连接的websockets一般就会看不到了)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1504 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 14:59 · PVG 22:59 · LAX 06:59 · JFK 09:59
    ♥ Do have faith in what you're doing.