爬取网页动态数据

来源:互联网 发布:java实现多线程同步 编辑:程序博客网 时间:2024/05/16 07:14

有一定基础的都知道,想要爬取某个网页的数据,按住F12会弹出一个窗口。

如图所示:


点击图中的的NetWork后,点击网页上的内容,即可看到NetWork中的数据不断改变,这是因为正在加载你的点击事件所需的数据。静态数据可以通过jsoup爬取(不明白的可以看)。

而对于动态数据(如下所示):



随着点击所有英雄、战士、法师等,jSearchHeroDiv中的li列表是不断变化的,那么我们如何获取这些动态数据呢?

打开Sources(Network旁边)我们会发现其中会有一些js包,没错,这些js包就是我们需要的(重新刷新该网页,不然有时无法获取到动态数据的js包),如下:


你会发现其中有很多js包,当然一般你所需的数据都在第一个文件夹中,找到你所需要的js包(推荐使用一些编码转换工具、试图查看工具(如http://tool.chinaz.com/tools/unicode.asp ,http://www.bejson.com/jsonviewernew),这样可以很清楚的查看这个js是否是自己所需的js),这个js包中就存储了我们所需的动态数据,打开js文件,你会发现全是字符串,别急,你会发现这个文件后面就是JSON数据,这时你只需要对其进行解析,就可以得到你所需的数据了


0 0