【发布时间】:2015-07-20 14:03:11
【问题描述】:
我有一个像 https://facebook.com/5 这样的 URL,我想获取该页面的 HTML,就像查看源代码一样。
我尝试使用file_get_contents,但这并没有返回正确的东西。
我错过了什么吗?
还有什么其他功能可以使用吗?
如果我无法获得该页面的 HTML,开发人员在对网站进行编码时做了什么特别的事情来避免这种事情?
【问题讨论】:
-
file_get_contents出现什么错误?如果该功能未被阻止,它将返回服务器回复的任何内容。也许服务器期待一些您没有提供的特定标头、用户代理字符串或 cookie。 -
如果在页面加载后 HTML 发生了变化,
file_get_contents()不会接受它,它只是从服务器获取响应,它不会运行它。此外,还有一些检测脚本的方法,通常只需根据已知默认值检查 UA 并返回不同或空的响应。你实际得到的东西与你期望的东西。 -
我认为您的
file-get-contents()可能不支持 SSL。 -
@fMarki555 有时我会得到 facebook 的安全验证码 HTML,有时我会得到一些 JS 但不是实际的 HTML
-
抓取 Facebook 内容违反了他们的服务条款。如果您想与 Facebook 上的任何内容进行交互,请使用他们的 API。
标签: php html facebook web-scraping file-get-contents