获取网页源代码而不实际访问页面

时间:2011-04-25 17:22:21

标签: php javascript html-parsing

有很多网页只是运行一个脚本而没有任何材料。 有没有看到页面源而没有实际访问页面,因为它只是重定向你?

使用html解析器会这样做吗?我正在使用simpleHTMLdom来解析页面?

7 个答案:

答案 0 :(得分:4)

在firefox中,您可以使用view-source协议仅查看站点的源代码,而无需实际呈现它或在其上执行JavaScripts。

示例:view-source:http://stackoverflow.com/q/5781021/298479(将其复制到您的地址栏)

答案 1 :(得分:1)

是的,简单解析HTML将获得客户端(Javascript)代码。

当通过浏览器访问这些页面时,浏览器会运行代码并重定向它,但是当您使用刮刀或自己的程序访问它时,代码不会运行并且可以获得静态脚本。

当然你无法访问服务器端(php)。那是不可能的。

答案 2 :(得分:1)

如果你需要一个快速的&脏修复,您可以禁用JavaScript和Meta重定向(Internet Explorer可以在“Internet选项”对话框中禁用这些。Firefox可以使用NoScript加载项获得相同的效果。)

这不会对任何服务器端重定向,但会阻止客户端重定向,并允许您查看文档的HTML源。

答案 3 :(得分:0)

获取页面HTML源的唯一方法是向Web服务器发送HTTP请求并接收等于访问该页面的答案。

答案 4 :(得分:0)

如果您使用的是基于* nix的操作系统,请尝试使用终端中的curl。

curl http://www.google.com

答案 5 :(得分:0)

如果你有权访问命令行linux shell,那么wget或lynx也会运行良好:

wget http://myurl lynx -dump http://myurl

答案 6 :(得分:0)

如果您正在尝试HTML-Scrape通过执行JavaScript构建其内容/视图的90%以上的页面内容,除非您渲染到屏幕(隐藏)然后抓取它,否则您将遇到问题。否则你最终会刮掉一些你没什么用的脚本标签。

e.g。如果我试图抓取我的Gmail收件箱页面,它是一个空的HTML页面,只有几个零散的脚本标签(可能是几乎所有基于GWT的应用程序的典型标签)

您正在抓取的网页/网站是否有API?如果没有,是否值得问他们是否有一个在工作中?

通常,这些类型的工具在“窃取”信息和“共享”信息之间沿着细线运行,因此您可能需要轻易踩踏。