效果预览
原理分析
QQ发出去一个网址后,在展示的时候,他会快速抓取网站的内容(标题,缩略图,描述)进行展示,抓取有特殊标记的内容,快速展示出来。我们可以通过在head部分加标签的方式让这个过程更快,更准确的展示我们需要的内容。
mate标签
1 2 3 4 |
<!--必填--> <meta itemprop="name" content="网站标题"/> <meta itemprop="image" content="网站要显示的图片链接" /> <meta name="description" itemprop="description" content="网站内容" /> |
将以上标签加至文章head即可。
实现思路
文章页
name = 文章标题
image = 特色图(未设置特色图自动抓取文章第一张图片)
meta = 文章描述
分类页
name = 分类名称
image = 自定义
meta = 分类描述
主页
name = 站点名称
image = 站点logo
meta = 站点描述
具体代码
由于主题不一样,我这里只给出我主题的部分代码,至于缩略图获取,文章描述获取等这类函数就不一一贴出。
1 2 |
<meta name="description" itemprop="description" content="<?php description(); ?>"> <meta itemprop="image" content="<?php echo ravenclaw_share_post_image(); ?>" /> |
加入header.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
function ravenclaw_share_post_image(){ global $post; if (has_post_thumbnail($post->ID)) /*有特色图就直接返回特色图*/ { $post_thumbnail_id = get_post_thumbnail_id( $post ); $img = wp_get_attachment_image_src( $post_thumbnail_id, 'full' ); $img = $img[0]; } else/*否则抓取第一张图片*/ { $content = $post->post_content; preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER); if (!empty($strResult[1])) { $img = $strResult[1][0]; }else{ $img = ravenclaw_option('tool_single_image'); } }; if (is_home())/*首页图片返回站点logo*/ { $img = ravenclaw_option('tool_share_image'); } return $img; } |
思路说了,完整代码可以根据自己主题函数进行完善
强制抓取
如果你的主题不适合修改你也许你可以试试下面的方式
https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshareget_urlinfo?fupdate=1&g_tk=2090864879&url=+你的网址(带https://)
电脑浏览器打开相应网址后会返回json数据,无需理会。
以上网址打不开可以试试360浏览器的 隐私模式
提交后稍后就能看到了,这种方式是强行提交给tx,tx也会根据你的内容智能抓取内容。
另外分享一个AE博客的小工具,可以批量提交网址抓取。
使用方法:
将地址整理成TXT,一行一个,然后将TXT文件拖入软件
或者直接使用XML地址的读取。
用途:
让腾讯强制抓取网页信息,实现QQ发送域名、网址 变成XML卡片消息形式
云盘下载
手机显示卡片消息,电脑端不显示.
可能是抓的慢,可能是你网络不好!