从php页面获取HTML数据

时间:2015-05-09 19:59:22

标签: php html facebook web-scraping file-get-contents

我有一个像这样MethodBuilder methodId = tbuilder.DefineMethod("Id", MethodAttributes.Public, typeof(IdentityPart), Helper.TypeArrayReturnerWithGeneric<MyVerySpecialType>()); 的网址,我希望获得该网页的HTML,就像查看源代码一样。 我尝试使用https://facebook.com/5,但这并没有给我正确的答案。 我错过了什么吗?

我可以使用其他任何功能吗?

如果我无法获取该页面的HTML,那么开发人员在对网站进行编码时会做些什么特别的事情来避免这种情况?

2 个答案:

答案 0 :(得分:0)

您可能希望改为使用curl:http://php.net/manual/en/curl.examples.php

编辑: 以下是我的一个例子:

var currentMonth = (new Date).getMonth() + 1;
var x = 5; // ?

var valentinesdiv = $("#valentinesmenu");
// set text of `valentinesdiv` to `currentMonth`
valentinesdiv.text(x).hide();

$.fn.datechecker1 = function() {
  // if `this.text() == currentMonth` do stuff
  if (this.text() == currentMonth) {
    this.show();
  } else {
    // else, do other stuff
    console.log(this.text(), currentMonth, x);
  }
};

valentinesdiv.datechecker1();

请注意,根据网站vhost配置,网址末尾的斜杠可能会有所不同。

编辑:抱歉未定义的变量..我将其复制出我使用的辅助方法。现在它应该没问题。

又一个编辑:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="valentinesmenu"></div>

通过添加此选项,您将按照示例中出现的重定向进行操作。既然你说这是一个例子我以前没有运行它。现在我做了,它的确有效。

答案 1 :(得分:0)

关于主题的警告
但是这个任务是否已经完成使用PHP?

由于这听起来像是网络抓取的任务,我认为你会在casperjs中获得更多的使用。
有了这个,您可以精确地定位您想要从fb页面检索的内容,而不是抓取整个内容,我认为在撰写本文时,内容是通过多个虚拟DOM请求生成的。 / p>

请注意,我没有尝试从Facebook检索内容,但我已经通过多种服务完成了这项工作。

祝你好运!