
小弟正在写一个爬虫,已经到达了要爬取的地址,该页面有一个 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 |