欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 【PHP】【.NET】【JS】【AJAX】关于抓取网页源代码的问题

程序员文章站 2024-01-15 16:21:52
...
举例先:
用浏览器的查看源代码,只能看到网页第一次加载完成时候的源码。
然而现在很多网页都用到了AJAX技术,实际上会异步加载多次,最终呈现出来的效果和最初的源码有时候会差很多。
而我现在想要获取网页最终加载完成时候的源码。
或者说,我想获取网页每次AJAX获取值,然后通过JS修改源码之后的真实源码。
理论上说,是存在这样一份真实源码的,对吧。
用Chrome的审查元素也能获取的到的。

但是,现在我想用PHP或者.NET或者JS……
不知道大家有木有什么好的方法……
PC,WEB上都可以……不造有没有类似的函数,框架,类库,方法……
各种思路都可以……

http://www.moonlord.cn

回复内容:

举例先:
用浏览器的查看源代码,只能看到网页第一次加载完成时候的源码。
然而现在很多网页都用到了AJAX技术,实际上会异步加载多次,最终呈现出来的效果和最初的源码有时候会差很多。
而我现在想要获取网页最终加载完成时候的源码。
或者说,我想获取网页每次AJAX获取值,然后通过JS修改源码之后的真实源码。
理论上说,是存在这样一份真实源码的,对吧。
用Chrome的审查元素也能获取的到的。

但是,现在我想用PHP或者.NET或者JS……
不知道大家有木有什么好的方法……
PC,WEB上都可以……不造有没有类似的函数,框架,类库,方法……
各种思路都可以……

http://www.moonlord.cn

我之前的做法是:
1、用firebug抓包,看看ajax请求的api地址。
2、查看api请求的参数,如果没参数,直接第5步。
3、如果api的参数是在网页上面的。
4、到页面去找api的参数。(参数都是且必须是有规律的,没规律的话他就不可能把网页做成动态的了。)
5、然后带着api必须的参数再去采这个api的地址。(这时运气好的话采回来的直接是json数据,都不用处理html那么麻烦了)

PhantomJS, CasperJS

net的话WebBrowser

用浏览器的查看源代码,只能看到网页第一次加载完成时候的源码。
这是谁说的?

就是异步加载, 加载完成了你看到的也是完全加载的HTML代码。
抓取的多的很,Python有现成的