小弟写一个爬虫爬网站中的列表数据,但是列表数据时延迟加载的,这个怎么爬呢?各位兄弟姐妹看过来!

2016-03-17 22:25:17 +08:00
 cuikangyuan

小弟正在写一个爬虫,已经到达了要爬取的地址,该页面有一个 list ,目标时爬取这个 list 中的数据, 可恶的是,这个 list 的数据是动态加载的,也就是说页面渲染完毕之后 list 部分显示 loading 。。 并不显示数据,造成目前卡在 发 get 请求 只能 得到这个 list 里 的 loading 。。。字符串

实际上 在浏览器中 这个 list 会在页面打开之后 一定时间后刷出 列表的数据 , 这样的数据 该怎么 爬取呢??

3603 次点击
所在节点    问与答
10 条回复
zentorwie
2016-03-17 23:30:32 +08:00
一个有效但是性能不是很好的做法是用 PhantomJS 模拟浏览器。
zentorwie
2016-03-17 23:31:49 +08:00
忘了说是 selenium+PhantomJS
alansalexer
2016-03-17 23:38:28 +08:00
1. casperjs
2. python webkit
exoticknight
2016-03-17 23:45:32 +08:00
前几天刚用 node 和 phantomjs 搞类似的东西
你可以试试
另外一个思路是抓 ajax 请求,自己模拟
cuikangyuan
2016-03-18 09:00:25 +08:00
@zentorwie 好的 我试试
cuikangyuan
2016-03-18 09:01:17 +08:00
@exoticknight 哈哈 没学过 nodejs ,用的 beautifulsoup 和 requests
zerowxxyf
2016-03-18 09:10:16 +08:00
简单点的做法是抓包,找到获取数据的地址就 so easy 啦
cuikangyuan
2016-03-18 09:19:26 +08:00
@zerowxxyf 恩 ,找到 那个 地址 啦
3dwelcome
2016-03-18 10:34:15 +08:00
网易就是啊,内容是 ajax 动态刷的,你用 GET 取一个静态界面完全没意义。其实就如楼上说的,用 webkit 模拟一个浏览器呗,然后再把 rendertree 导出来。
wlsnx
2016-03-18 14:56:06 +08:00
F12 看 ajax

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/264326

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX