Him*_*ack 52 user-agent facebook
在FB上共享我的一个页面时,我希望显示不同的内容.问题是,我不想使用og:元素,而是识别FB用户代理.
它是什么?我找不到它.
谢谢
Mar*_*in. 103
有关用户代理字符串的列表,请在此处查找.截至2015年9月,最常用的是facebookexternalhit/*和Facebot.由于您尚未说明您尝试识别用户代理的语言,因此我无法告诉您更多信息.如果你想在PHP中识别Facebook bot,请使用
if (
strpos($_SERVER["HTTP_USER_AGENT"], "facebookexternalhit/") !== false ||
strpos($_SERVER["HTTP_USER_AGENT"], "Facebot") !== false
) {
// it is probably Facebook's bot
}
else {
// that is not Facebook
}
Run Code Online (Sandbox Code Playgroud)
更新:Facebook已添加Facebot到他们可能的用户代理字符串列表中,因此我更新了我的代码以反映更改.此外,代码现在可以更好地预测未来可能的变化.
Iga*_*man 16
"Facebook的用户代理字符串是facebookexternalhit/1.1(+ http://www.facebook.com/externalhit_uatext.php)......"
你好
小而重要的纠正 - > Facebook外部命中使用2个不同的用户代理:
facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
Run Code Online (Sandbox Code Playgroud)
将fitler设置为1.1只会导致1.0版本的过滤问题.
有关Facebook Bot(以及其他机器人)的更多信息,请参阅Botopedia.org - 一个由Incapsula提供支持的Comunity-Sourced bot目录.
除了用户代理数据外,该目录还提供IP验证选项,允许您交叉验证IP /用户代理,从而有助于防止模拟尝试.
Vir*_*dra 14
以下是Facebook抓取工具用户代理:
FacebookExternalHit/1.1
FacebookExternalHit/1.0
Run Code Online (Sandbox Code Playgroud)
要么
facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
Run Code Online (Sandbox Code Playgroud)
请注意,版本号可能会更改.因此,使用正则表达式查找爬虫名称,然后显示您的内容.
更新:
您可以在PHP中使用此代码来检查Facebook用户代理
if(preg_match('/^FacebookExternalHit\/.*?/i',$agent)){
print "Facebook User-Agent";
// process here for Facebook
}
Run Code Online (Sandbox Code Playgroud)
这是ASP.NET代码.您可以使用此功能检查userAgent是否是Facebook的使用者.
public static bool IsFacebook(string userAgent)
{
userAgent = userAgent.ToLower();
return userAgent.Contains("facebookexternalhit");
}
Run Code Online (Sandbox Code Playgroud)
注意:
你为什么要这么做?当您在Facebook上共享指向您网站的链接时,Facebook会对其进行抓取并对其进行解析,以获取一些数据以显示您网页上的缩略图,标题和部分内容,但它会链接回您的网站.
此外,我认为这会导致隐藏网站,即向用户和抓取工具显示不同的数据.伪装不被认为是一种好的做法,搜索引擎和网站可能会注意到它.
更新:截至2014年5月28日,Facebook还增加了新的使用者
Facebot
Run Code Online (Sandbox Code Playgroud)
您可以在https://developers.facebook.com/docs/sharing/webmasters/crawler上阅读有关facebook抓取工具的更多信息.
| 归档时间: |
|
| 查看次数: |
81896 次 |
| 最近记录: |