$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. puppeteer爬虫的奇妙之旅
  2. 如何在 ASP.Net Core 中使用 条件中间件
  3. SIEM部署失败的五大原因
  4. oracle可以在liux上装_linux安装Oracle11G
  5. nodejs mysql数据推送_使用Nodejs实现实时推送MySQL数据库最新信息到客户端
  6. Eclipse 生成 Jar 包
  7. FireFox的插件
  8. Spring Boot整合模板引擎thymeleaf
  9. buck-boost电路中,输入电压增加后,电感电流曲线变化的推导 // 《精通开关电源设计》P44 图2-3
  10. 实验第七节——用户chaincode相关操作
  11. 火车头文章标题伪原创插件(文章双标题插件)
  12. “东方树叶”走红背后,起底农夫山泉的“科研军团”
  13. 学习LSL:Locate-Globally-Segment-locally
  14. Vue的MVVM(model、view、viewmodel)
  15. java五子棋棋盘_java绘制五子棋棋盘代码示例
  16. 如何在公众号添加视频链接
  17. 【开源项目】之健康助手
  18. 在内容创作领域,为什么李筱懿如此成功?
  19. 生死存亡之数字炸弹(1.0)
  20. CAN总线-ACK应答机制分析

热门文章

  1. CVPR2020最佳新框架|大规模人脸表情识别(附源代码)
  2. 如何减少超市的提货和包装错误
  3. Python 求函数极小值、极大值点
  4. 多表关系、数据库设计的范式、数据库的备份和还原、多表查询、事务、DCL(了解)
  5. 2019辽师计算机考研分数线,2020辽宁师范大学研究生分数线一览表(含2018-2019历年复试分数线)...
  6. matlab如何实现argmin运算,将python/numpy“A.argmin(axis=1)”转换为等效的matlabexpression...
  7. 简洁好看的jmw网址导航网站源码
  8. OSI七层模型和TCPIP四层网络模型
  9. python麻将机器人_tensorflow麻将智能出牌源码-机器学习代码类资源
  10. 计算机毕业设计 最新题目 选题 推荐 毕业设计 - 毕设指导 开题报告