【发布时间】:2018-11-04 23:33:56
【问题描述】:
当我将我的网站链接粘贴到社交网络(例如 Facebook 或 Twitter)时,社交网络会访问我的网站以向用户显示预览。
我想在我的报告中将此访问权限与实际访问权限分开,但要做到这一点,我需要确定这种情况。
这种访问会发送任何类型的默认信息,我可以识别出这种访问不是真正的用户,而是机器人?
【问题讨论】:
当我将我的网站链接粘贴到社交网络(例如 Facebook 或 Twitter)时,社交网络会访问我的网站以向用户显示预览。
我想在我的报告中将此访问权限与实际访问权限分开,但要做到这一点,我需要确定这种情况。
这种访问会发送任何类型的默认信息,我可以识别出这种访问不是真正的用户,而是机器人?
【问题讨论】:
您应该能够从它们的用户代理字符串中识别这些机器人。 例如,Twitter 使用 User-Agent of Twitterbot。并且 Facebook 爬虫识别记录在 here。
【讨论】:
您可以使用User-Agent 来执行此操作。
if (strpos($_SERVER["HTTP_USER_AGENT"], "Twitterbot") !== false)
echo "TwitterBot";
else if (strpos($_SERVER["HTTP_USER_AGENT"], "facebookexternalhit") !== false)
echo "Facebook";
else
echo "regular user";
https://developers.facebook.com/docs/sharing/webmasters/crawler
【讨论】: