目前我们一般是从搜狗搜索引擎中的微信搜索中取爬,经过我的反复尝试,总结宝贵经验如下供各位参考:
1、如何准确的搜索公众号文章内容,经过反复测试,使用以下格式进行微信文章搜索准确率最高:
gh_a84c4fbe9570‘阿法牛AlphaBull’
gh_b82cbf247f79‘大家关心的那些事’
gse2011‘广州航运交易所’
haiexingzhb‘海e行’
shipping56‘海运网’
JiangsuMSABulletin‘江苏海事发布’
gh_15cfa3c8a4cb‘航运安全新动态’
hjsdw5678‘黄金水道网’
sitcbrokers‘海丰经纪’
suxinpeisong‘航运潮汐’
MaritimeCenter‘海商法研究中心’
supershipper‘超级船东资讯’
即公众号账号吗+单引号括起来的公众号中文名称。
2、解决微信正文图片懒加载的问题,这个比较常见,用js脚本解决:
start();
$(window).on('scroll', function () {
start();
})
function start() {
$('.container img').not('[data-isLoaded]').each(function () {
var $node = $(this);
if (isShow($node)) {
loadImg($node);
}
})
}
function isShow($node) {
return $node.offset().top <= $(window).height() + $(window).scrollTop();
}
function loadImg($img) {
$img.attr('src', $img.attr('data-src'));
$img.attr('data-isLoaded', 1);
}
3、解决微信WebP图片无法加载(跨域、外链限制、WebP格式限制等):
我们借助搜狗搜索的接口来处理,可以发现,搜狗微信搜索结果列表中的缩略图地址,实际就是用搜狗专门的一个接口处理过的,也即在后台先下载转码,再提供给前台调用:
function showImage() {
var imglist = $("img[data-src]");
for (var i = 0; i < imglist.length; i++) {
if (imglist[i].getAttribute('src')) {
if (imglist[i].getAttribute('src').indexOf("mmbiz.qpic.cn") != -1) {
imglist[i].setAttribute('src', 'https://img01.sogoucdn.com/net/a/04/link?appid=100520033&url=' + imglist[i].getAttribute('src'));//sogou微信搜索缩略图
}
}
}
}
showImage();
同时,还需要在网页<head>中增加:
<meta name="referrer" content="no-referrer"/>
作用是避免被判断为非法引用