phpQuery采集微信公众号文章乱码

优采云 发布时间: 2020-05-13 08:21

  终于找到解决方案了微信文章采集 php,这是一个值得庆贺的事情....

  原来是因为陌陌在源码中加入了防采集代码<!--headTrap<body></body><head></head><html></html>-->,把文章源码中的这一段除去就可以了!

  具体代码如下:

  public function getCon(){

header('Content-type: text/html; charset=utf-8');

import('Vendor.QL.QueryList');

$w_url=$_POST['wurl']; //接收到的文章地址

// 测试文章地址

// $w_url='http://mp.weixin.qq.com/s?__biz=MzA5NzQ5OTMxMA==&mid=2650621512&idx=1&sn=2059946e820805c0d62a450aa3af62be&chksm=88960789bfe18e9f47417eb45cd8efe458af9e93fea3e8e4e242ea2376fd3e4c69f5218293cb&scene=0#wechat_redirect';

// echo "<script>alert('".$w_url."');</script>";

$html = file_get_contents($w_url); //获取文章源码并保存到参数中

// echo "<script>alert('".$html."');</script>";

$html = str_replace("<!--headTrap<body></body><head></head><html></html>-->", "", $html); //去除微信中的抓取干扰代码

// die($w_url);<br /><br />// var_dump($html);

$data = \QueryList::Query($html,array(

//采集规则库

//'规则名' =&gt; array('jQuery选择器','要采集的属性'),

'titleTag' =&gt; array('title','text'),

// 'title' =&gt; array('#activity-name','text'),

'content' =&gt; array('body','text'),

// 'image' =&gt; array('img','src'),

//微信规则

'contentWx' =&gt; array('#js_content','text'),

// 'imageWx' =&gt; array('img','data-src'),

// 'conText' =&gt; array('.rich_media_content&gt;p','text'),

))-&gt;data;

foreach ($data as $k =&gt; $v) {

$data[$k]['imageWx'] = $this-&gt;cut_str($v['imageWx'],'?',0);

}

//打印结果

// print_r($data);

$this-&gt;assign('conD',$data);

$this-&gt;display();<br /><br /> }

  Chrome浏览器保存微信公众号文章中的图片

  用chrome浏览器打开微信公众号文章中时,另存为图片时保存的是640.webp,不是图片本身,用IE则没有此问题.大部分chrome插件也难以保存图片. 经过多番尝试,找到一款插件可以批量保存陌陌公 ...

  pc端引入微信公众号文章

  最近做了一个小需求,结果坑非常多..... 需求是这样的,要给公司内部做一个微信公众号广告投票系统,整个项目就不多赘言了,有个小功能,要求是这样的: 点击某条记录后的“投票”按钮,在当前页面弹出弹窗显 ...

  使用Python爬取微信公众号文章并保存为PDF文件&amp;lpar;解决图片不显示的问题&amp;rpar;

  前言 第一次写博客,主要内容是爬取微信公众号的文章,将文章以PDF格式保存在本地. 爬取微信公众号文章(使用wechatsogou) 1.安装 pip install wechatsogou --up ...

  【技巧】如何使用客户端发布BLOG&amp;plus;如何快速发布微信公众号文章

  [技巧]如何使用客户端发布BLOG+怎样快速发布微信公众号文章 1 BLOG文档*敏*感*词* 2 前言部份 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以把握如下的技能,也 ...

  用Markdown写微信公众号文章

  目前微信公众号的编辑器是不支持Markdown句型的,那如何办呢? 有一款叫Markdown Here的插件可以解决这个问题(支持Chrome.Firefox.Safari). 官方网站:http:/ ...

  小技巧微信文章采集 php,把Markdown文本发布到微信公众号文章

  估计很多人都是这样,平常工作在github,等到有成果要发布,又要写微信公众号. github用Markdown,微信公众号,至少截至今早,还是沿袭富文本的形式.不是说富文本不好,但每次悉心撰写的内容 ...

  破解陌陌防盗链&amp;amp&amp;semi;微信公众号文章爬取方案

  破解陌陌图文防盗链: 图片解除防盗链: ...

  微信公众号文章转语音tts

  微信公众号上面的文章在走路或则驾车时侯不方便浏览,希望能降低一个文字转语音功能,那么问题来了,到底哪家文字转语音技术强呢? 经过验证,目前发觉最好用的还是balabolka ,国内的哪些“录音啦”,试 ...

  你所不知道的 Kindle - 阅读微信公众号文章

  Kindle 是一款十分优秀的阅读设备,它为我们提供了十分舒服的阅读体验,并且配合强悍的亚马逊图书资源,应该是目前最好的阅读设备之一.Kindle 在已有的成就下还仍然在努力提高用户体验.为中国用户开 ...

  go语言的命令行库

  命令行应用一般太小,程序猿们也不喜欢为它编撰注释.所以一些额外的工作,如解析参数有个合理的库来帮忙做就好了. 这个项目因而而生.安装:go g ...

  2014多校第一场A题 &amp;vert;&amp;vert; HDU 4861 Couple doubi

  题目链接 题意 : 有K个球,给你一个数P,可以求出K个值,(i=1,2,...,k) : 1^i+2^i+...+(p-1)^i (mod p).然后女朋友先取,再xp取,都希望赢,如果女朋友能赢输 ...

  chromedriver禁用图片,禁用js,切换UA

  selenium 模拟chrome浏览器,此时就是一个真实的浏览器,一个浏览器该加载的该渲染的它都加载都渲染,所以爬取网页的速率太慢.如果可以不加载图片等操作,网页加载速率都会快不少,代码中列举了了禁 ...

  反射 学习笔记之Class类的使用

  1 java世界中万事万物皆对象,除了2个特殊情况 int float等这种基本数据类型,(但是也都有Integer和Float等封装类做了填补) java staic定义的,它不是属于对象的,而是 ...

  oracle INS-13001 环境不满足最低要求

  使用windows10等系统安装oracle 11g等版本的数据库时,经常会发觉开始安装时弹出[INS-13001 环境不满足最低要求]的提示,此时可以点击[是]继续安装. 也可以点击[否]结束安装, ...

  【C&amp;sol;C&amp;plus;&amp;plus;】查找(一):静态查找表

  {静态查找表 + 动态查找表} 所谓动态,就是,找的时侯没有则添加,或者能删掉 关键字:primary key:用来表示查找表中的一条记录 {主关键字 + 次关键字} 主关键字是惟一的,用来惟一的标示 ...

  水仙花在python3在pycharm的实现

  ---恢复内容开始--- #方法一:#-*- coding: utf-8-*-while True: num = input("请输入一个三位数") num = int(num) ...

  POJ 1089

  #include &lt;iostream&gt; #include &lt;algorithm&gt; #define MAXN 50005 using namespace std; struct ...

  170629、springboot编程之Druid数据源和监控配置二

  上篇是一种配置方法,虽然我们创建了servlet.filter并且没有任务编码,看着是不是太不爽.ok,接下来说一下简介的配置方法,使用代码注册Servlet,也是我个人比较推荐的! 1.创建Drui ...

  百度地图API 显示区域边界及地名定位

  百度地图API 显示区域边界及地名定位 这个定位一共用了两个方式组成 一个是定位勾画区域边界线,另一个是地名定位 原理: 当用户输入市.市.县.区这些大地名时,我们要定位用户输入的这个位置,并显示轮廓 ...

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线