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

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

WBOY
WBOYOriginal
2016-06-06 20:43:56746Durchsuche

举例先:
用浏览器的查看源代码,只能看到网页第一次加载完成时候的源码。
然而现在很多网页都用到了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有现成的

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn