怎么用爬虫爬动态需要手动加载部分内容的网页?

2014-07-19 08:48:32 +08:00
 Axurez
像百度贴吧、知乎都属于这种。
百度贴吧,最近好像改成一页只加载一半了。
知乎的话,评论和个人名片,也是后发送请求获取的。
像这种页面的爬虫,应该用什么语言怎么写呢?
3955 次点击
所在节点    问与答
10 条回复
imn1
2014-07-19 08:56:55 +08:00
一样的,抓包ajax请求模拟出来就行
jings
2014-07-19 09:07:15 +08:00
写过一种需要手动向下滚动加载 其实url还是不一样的 需要看一下网页源码 找出区别
shell应该是最好的脚本语言吧 python五十几行的代码几行shell搞定 如果会perl那更好了 shell无非就wget curl > >> while read awk sed columnt就能很好的抓取了 要多线程就要 screen nohup & perl
lizheming
2014-07-19 09:21:26 +08:00
PhantomJS, CasperJS
em70
2014-07-19 09:22:34 +08:00
需要分析ajax的数据接口来处理,每个网站都要单独分析,没有一劳永逸的办法
ccbikai
2014-07-19 10:13:21 +08:00
F12 先找出接口地址,然后模拟浏览器读取数据。
ddzz
2014-07-19 10:34:17 +08:00
怎么就没人说开浏览器采集
wibile
2014-07-19 11:30:24 +08:00
@ddzz 效率低。。。。还是phantomJS靠谱
azuginnen
2014-07-19 11:42:14 +08:00
糙快猛selenium ide
assassinpig
2014-07-19 11:57:02 +08:00
贴吧的改了?我要回去试试
konakona
2014-07-19 12:05:46 +08:00
需要用逆向思维做逆向工程。
你看到的是结果,根据结果一层层剥离出真相(源)。

比如说去哪儿那种动态的列表,会出现2个问题:
1.找不到分页number存放的html位置
2.找不到请求下一页url的规则

必须在js、html甚至是json里进行反复查证。

动态页面往往是由多个碎片源返回的数据组成。

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

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

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

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

© 2021 V2EX