javascript - 使用 PHP 从 FB 事件中获取数据
问题描述
有没有办法通过 PHP 或 Javascript 从 Facebook 事件中提取数据?
所以我输入链接(例如:https ://www.facebook.com/events/650125518420796/ )并获取:名称、日期、位置、详细信息等。
我之前对 PHP 的尝试总是失败,因为可能标头不被接受,即使是,PHP 仍然必须执行 JS。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = array();
$headers[] = 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36';
$headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3';
$headers[] = 'Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7';
$headers[] = 'Upgrade-Insecure-Requests: 1';
$headers[] = 'Host: www.facebook.com';
$headers[] = 'Cache-Control: max-age=0';
$headers[] = 'Sec-Fetch-User: ?1';
$headers[] = 'Sec-Fetch-Site: none';
$headers[] = 'Sec-Fetch-Mode: navigate';
$headers[] = 'Sec-Fetch-Dest: document';
$headers[] = 'Upgrade-Insecure-Requests: 1';
$headers[] = 'Accept-Encoding: gzip, deflate, br';
$headers[] = 'Accept-Language: en-US,en;q=0.5';
$headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8';
$headers[] = 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
curl_close($ch);
// echo $result;
print_r($result);
file_put_contents('res.html',$result);
解决方案
推荐阅读
- php - MySQL INSERT INTO 语句中的语法错误
- c# - 防止更改 X-Forwarded-For
- c++ - 我如何比较日期?
- reactjs - 为什么我会收到一条警告说“列表中的每个孩子都应该有一个唯一的 key prop”,但我已经有一个子组件的唯一 key prop
- javascript - 使用 sinon 和 chai-as-promise 测试承诺拒绝时超时
- android-studio - 如何在 Android Studio 中将 Android 包名称重构为由句点/点分隔的多个单词?
- apache-spark - 如果满足条件,Pyspark 将函数应用于列值
- postgresql - psql 和 postgresql-client 有什么区别?
- javascript - 动态组件如何覆盖彼此的状态?
- python - 在 Jupyter Notebook 上获取 JsonDecodeError