[求教]如何让爬虫支持自动 js 翻页?

2015-11-08 22:49:49 +08:00
 ysjdx

最近在研究爬虫,发现多个网站都有 js 翻页的内容,实在不想一个个配模板用 xpath 来解析.想请教各位大神有没有好的思路.

5437 次点击
所在节点    程序员
13 条回复
ferrum
2015-11-08 23:02:33 +08:00
JS 翻页一般也是发送 post 请求的,看看包的内容,然后模拟。
ysjdx
2015-11-08 23:28:03 +08:00
@ferrum 关键在于有无通用的方法,不然面对太多 url,一个一个去研究效率太低,很好奇百度是如何解决这个问题的
moosoome
2015-11-08 23:44:34 +08:00
@ysjdx 模拟点击?
eoo
2015-11-09 01:24:12 +08:00
无非就是用了无刷新翻页而已 ,抓包就能看到 GET 的参数 。
ysjdx
2015-11-09 06:35:54 +08:00
@moosoome 百度会尝试点击页面所有元素?发现新 url 就加入到爬去列表么?还是自动探测看起来象翻页按钮的元素,拟或是有一个非常大的配置库?

@eoo 主要是能否有通用的方法,不需要每个去抓包
breeswish
2015-11-09 08:19:45 +08:00
百度对于 ajax 翻页的当然是抓不到了 ╮(╯▽╰)╭
bengol
2015-11-09 09:11:01 +08:00
@ysjdx 你想太多了
oott123
2015-11-09 09:59:59 +08:00
通用的? CasperJS 行么
Arrowing
2015-11-09 10:29:06 +08:00
用 phantomjs 咯, casperjs 也是基于 phantomjs 开发的
后台的 webkit ,满足你的要求
tonyVex
2015-11-09 11:45:32 +08:00
有些网站的数据都是 ajax 生成出来,那样的怎么处理?找到请求入口,模拟提交?
ysjdx
2015-11-09 14:09:59 +08:00
@bengol 额 难道我想多了?
w3hacker
2015-11-09 14:35:06 +08:00
既然是 ajax 的 就有路径 你可以直接通过这个路径获取到数据吧 不过不行 只能用 phantomjs 、 caperjs 了 也很简单
Light3
2015-11-09 21:59:24 +08:00
ajax 会有提交然后返回参数 你可以看看那个能抓到不

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

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

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

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

© 2021 V2EX