小弟正在写一个爬虫,已经到达了要爬取的地址,该页面有一个 list ,目标时爬取这个 list 中的数据, 可恶的是,这个 list 的数据是动态加载的,也就是说页面渲染完毕之后 list 部分显示 loading 。。 并不显示数据,造成目前卡在 发 get 请求 只能 得到这个 list 里 的 loading 。。。字符串
实际上 在浏览器中 这个 list 会在页面打开之后 一定时间后刷出 列表的数据 , 这样的数据 该怎么 爬取呢??
     1 
                    
                    zentorwie      2016-03-17 23:30:32 +08:00 
                    
                    一个有效但是性能不是很好的做法是用 PhantomJS 模拟浏览器。 
                 | 
            
     2 
                    
                    zentorwie      2016-03-17 23:31:49 +08:00 
                    
                    忘了说是 selenium+PhantomJS 
                 | 
            
     3 
                    
                    alansalexer      2016-03-17 23:38:28 +08:00 
                    
                    1. casperjs 
                2. python webkit  | 
            
     4 
                    
                    exoticknight      2016-03-17 23:45:32 +08:00 
                    
                    前几天刚用 node 和 phantomjs 搞类似的东西 
                你可以试试 另外一个思路是抓 ajax 请求,自己模拟  | 
            
     5 
                    
                    cuikangyuan   OP @zentorwie 好的  我试试 
                 | 
            
     6 
                    
                    cuikangyuan   OP @exoticknight 哈哈 没学过 nodejs ,用的 beautifulsoup 和 requests 
                 | 
            
     7 
                    
                    zerowxxyf      2016-03-18 09:10:16 +08:00    简单点的做法是抓包,找到获取数据的地址就 so easy 啦 
                 | 
            
     8 
                    
                    cuikangyuan   OP @zerowxxyf 恩 ,找到 那个 地址 啦 
                 | 
            
     9 
                    
                    3dwelcome      2016-03-18 10:34:15 +08:00    网易就是啊,内容是 ajax 动态刷的,你用 GET 取一个静态界面完全没意义。其实就如楼上说的,用 webkit 模拟一个浏览器呗,然后再把 rendertree 导出来。 
                 | 
            
     10 
                    
                    wlsnx      2016-03-18 14:56:06 +08:00 
                    
                    F12 看 ajax 
                 |