$url = $_REQUEST['url']; //要抓取的urlif(!$url){$code = "{\"flag\":\"0\",\"msg\":\"url有误\"}";echo $code;return;}//创建抓取的文件夹$date = md5($url); // 为防止每次url都创建新的文件夹导致路径不一样$date = substr($date,0,10);$dir = iconv("UTF-8", "GBK", '../'.$date);if (!file_exists($dir)){mkdir ($dir,0777,true);} $fh= file_get_contents($url);  //抓取网页图片$dir = iconv("UTF-8", "GBK", '../'.$date.'/img');if (!file_exists($dir)){mkdir ($dir,0777,true);} $pattern="/<img.*?-src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/"; //正常为<img.*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>为防止微信中的data-croporisrc扰乱图片所以在src前面加了“-”preg_match_all($pattern,$fh,$match);$imgdir = '../'.$date.'/img';//将图片保存到本地function GrabImage($url,$path,$filename) { $state = @file_get_contents($url,0,null,0,1);//获取网络资源的字符内容//判断图片扩展名if($state){$ext = strrchr($url, ".");$extsd = '';switch($ext){case '.jpg':$extsd = 'jpg';break;case '.jpeg':$extsd = 'jpeg';break;case '.png':$extsd = 'png';break;case '.gif':$extsd = 'gif';break;}if($extsd==""){$ext = strrchr($url, "=");switch($ext){case '=jpg':$extsd = 'jpg';break;case '=jpeg':$extsd = 'jpeg';break;case '=png':$extsd = 'png';break;case '=gif':$extsd = 'gif';break;}}if($extsd!=''){$filedname = $filename.'.'.$extsd;//文件名$filename = $path.'/'.$filename.'.'.$extsd;//文件路径ob_start();//打开输出readfile($url);//输出图片文件$img = ob_get_contents();//得到浏览器输出ob_end_clean();//清除输出并关闭$size = strlen($img);//得到图片大小$fp2 = @fopen($filename, "a");fwrite($fp2, $img);//向当前目录写入图片文件,并重新命名fclose($fp2);return $filedname;}else{return false;    }}else{return false;}} //替换抓取的文章中图片路径$m = 0;foreach($match[1] as $url){//echo $url.'=====<br>';$filename = $imgdir.'/'.$m.'.jpg';$DD = GrabImage($url,$imgdir,$m);if($DD){$DD = '/img/'.$DD;$match[2][$m]=$DD;$fh =str_replace($url,$DD,$fh);}else{$code = "{\"flag\":\"0\",\"msg\":\"图片下载失败\"}";//echo $code;//return;}$m++;}//去掉打赏$dashang = '<div class="reward_qrcode_area reward_area tc" id="js_preview_reward_qrcode" style="display:none;"><p class="tips_global">长按二维码向我转账</p><p id="js_preview_reward_ios_wording" class="reward_tips" style="display:none;"></p><span class="reward_qrcode_img_wrp"><img class="reward_qrcode_img" src="img/22222"></span><p class="tips_global">受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。</p></div>';$fh =str_replace($dashang,'',$fh);$del ="seajs.config({  'map': [  [ '.js', '.js?v='+new Date().getTime() ]  ]  });";$fh =str_replace($del,'',$fh);//去掉扫一扫$saoyisao ='<div id="js_pc_qr_code" class="qr_code_pc_outer" style="display:none;"><div class="qr_code_pc_inner"><div class="qr_code_pc"><img id="js_pc_qr_code_img" class="qr_code_pc_img"><p>微信扫一扫<br>关注该公众号</p></div></div></div>';$fh =str_replace($saoyisao,'',$fh);//保存html$fp = fopen('../'.$date.'/index.html','w'); fwrite($fp,$fh) or die('写文件错误'); fclose($fp);$urls = '域名路径'.$date.'/index.html';$code = "{\"flag\":\"1\",\"url\":\"".$urls."\"}";echo $code;

抓取微信公众号文章(抓取网页)相关推荐

  1. java 微信文章评论点赞_使用fiddler抓取微信公众号文章的阅读数、点赞数、评论数...

    1 设置fiddler支持https 打开fiddler,在菜单栏中依次选择 [Tools]->[Options]->[HTTPS],勾上如下图的选项: 单击Actions,选择Expor ...

  2. python公众号文章_Python 抓取微信公众号文章

    起因是刷微信的时候看到一篇文章,Python 抓取微信公众号文章保存成pdf,很容易搜到,就不贴出来了 先用chrome登陆微信公众号后台,先获取一下自己的cookie,复制下来就行,解析一下转换成 ...

  3. 记一次批量定时抓取微信公众号文章的实现

    记一次批量定时抓取微信公众号文章的实现 抓取前的说明和准备 数据的抓取 批量抓取 定时抓取 对爬虫防抓取机制的一些解决办法 最后 抓取前的说明和准备 本次抓取的选择的语言是java,本文章不会将整个工 ...

  4. Python实现抓取微信公众号文章

    本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 前言 对于抓取微信公众号文章主要通过代理ip抓包进行的操作,总会出现一些问题,以下问题导致无法抓包. ...

  5. 关于微信公众号文章抓取

    今天公司要我抓取微信公众号文章,我百度了半天得到的方法有三种: 具体内容我就不复制了请去下面这个链接去看,写的挺好 微信公众号文章采集方案 在三者中我选择了比较稳妥的第二种:对手机微信进行中间人攻击 ...

  6. python爬取微信公众号文章

    爬取微信公众号文章 获取微信公众号的url 获取每一篇文章的url ​ 选择一个公众号进入,选择一个目录进入后点复制链接,然后去浏览器打开.按F12打开检查的模式,在Console中输入$x('标签路 ...

  7. Python2.7爬虫——爬取微信公众号文章

    今天跟着这篇博客抓取微信公众号文章练习了一下爬虫,运行成功.想和大家分享一下过程中出现的问题和解决方法. 运行环境 windows 7 + Pycharm2018 + Python 2.7 目录 目录 ...

  8. python爬虫能爬取微信密码吗_爬虫如何爬取微信公众号文章

    下篇文章:python爬虫如何爬取微信公众号文章(二) 下下篇连接python爬虫如何实现每天爬取微信公众号的推送文章 因为最近在法院实习,需要一些公众号的数据,然后做成网页展示出来便于查看,之前我倒 ...

  9. 微信公众号文章爬取方法整理

    微信公众号文章爬取方法整理 1.用python爬取 http://blog.csdn.net/d1240673769/article/details/75907152 实现方法:通过微信提供的公众号文 ...

  10. Python爬取微信公众号文章、点赞数

    代码还是热乎的,只要你细心一步步的慢慢调试,绝壁没问题 前期准备 订阅号: Python: Fiddler: 微信账号: 流程 使用用微信公众号生成cookie 使用Fiddler抓取微信公众号数据, ...

最新文章

  1. python 定义空集合 和定义空字典的
  2. 关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决的方法
  3. 深入理解计算机系统:网络编程 下 一个简单的web服务器
  4. 【学习笔记】SAP Fiori相关概念介绍
  5. 计算机安全靠,市计算机:网络安全进校园,网络安全靠人人
  6. 高德地图显示多个气泡_arcgis api 4.x for js 地图加载多个气泡窗口展示(附源码下载)...
  7. 周志华《机器学习》书每章思维导图总结
  8. 计算机类绘图的文献,基于计算机CAD绘图探讨论文
  9. html怎么做左侧广告,网站横幅怎么制作,html横幅广告代码
  10. winVNC 源代码分析
  11. javascript成神之路(1):如何编写高质量的js代码
  12. uni-app常见的生命周期
  13. 通用验证方法学(Universal Verification Methodology, UVM):简介及内容导航
  14. 抖音测试小程序功能开发
  15. steam 无法连接远程计算机,steam联机连不上 steam联不上网
  16. 【Python】基于文本匹配的微信自动问答
  17. 音乐心理学 | 乐理知识
  18. css如何定义img的src
  19. 格林纳达常驻WTO大使孙宇晨视频会见马来西亚驻WTO大使
  20. 常用的数据校验方式(奇偶,CRC,异或校验, LRC校验,累加和,MD5等校验)概念及源码

热门文章

  1. 美创科技勒索病毒“零信任”防护和数据安全治理体系的探索实践
  2. 为什么牛逼?——Stonie is a KungFu monk游戏精品功能介绍与详细规范,以及其中的挑战...
  3. 推荐一款功能强大的js 在线编辑器
  4. java中定义一个数组,获取数组中的最大值和最小值
  5. HP Envy系列重装系统时找不到磁盘驱动器的解决办法
  6. 损失函数的导函数(求导)
  7. SQL 实现日期(时间)相加减
  8. Redis源码、面试指南(5)多机数据库、复制、哨兵、集群
  9. java AES256+base64加密/解密
  10. vscode官网下载速度慢和下载失败攻略