//抓取页面
function curl_info(){$s=$this->curl_video_thumb($video_url['video_url']);$css_zheng_ze = "/<META\s+property=\"og:image\"\s+content=\"([\w\W]*?)\"/si";preg_match($css_zheng_ze,$s,$end);if(empty($_POST['info']['thumb'])){$_POST['info']['thumb']=APP_PATH.$this->crabImage($end[1]);}
}
//CURL请求
function curl_video_thumb($url, $type = 'GET', $data = array()){$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $type);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);//curl_setopt($ch, CURLOPT_HEADER, ['Host: m.bilibili.com','User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Mobile Safari/537.36']);curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4'));curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);curl_setopt($ch, CURLOPT_AUTOREFERER, 1);curl_setopt($ch, CURLOPT_ENCODING, "");if($data){curl_setopt($ch, CURLOPT_POSTFIELDS, $data);}if(isset($data['file']) && $data['file']){curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, false);}$result = curl_exec($ch);curl_close($ch);return $result;
}
/*** @param $imgUrl* @param string $saveDir* @param null $fileName* @return bool|string* 将文件移动到uploadfile文件夹*/function crabImage($imgUrl, $saveDir='uploadfile\/bilibili\/', $fileName=null){if(empty($imgUrl)){return false;}//获取图片信息大小$imgSize = getImageSize($imgUrl);if(!in_array($imgSize['mime'],array('image/jpg', 'image/gif', 'image/png', 'image/jpeg'),true)){return false;}//获取后缀名$_mime = explode('/', $imgSize['mime']);$_ext = '.'.end($_mime);if(empty($fileName)){  //生成唯一的文件名$fileName = date("YmdHis",time()).mt_rand(111,999).$_ext;}//开始攫取ob_start();readfile($imgUrl);$imgInfo = ob_get_contents();ob_end_clean();if(!file_exists(PHPCMS_PATH.$saveDir)){mkdir(PHPCMS_PATH.$saveDir,0777,true);}$fp = fopen(PHPCMS_PATH.$saveDir.$fileName, 'a');$imgLen = strlen($imgInfo);    //计算图片源码大小$_inx = 1024;   //每次写入1k$_time = ceil($imgLen/$_inx);for($i=0; $i<$_time; $i++){fwrite($fp,substr($imgInfo, $i*$_inx, $_inx));}fclose($fp);return $saveDir.$fileName;}

PHP爬取网页内容并存放至项目文件中相关推荐

  1. python如何爬虫网页数据-python网络爬虫爬取网页内容

    1.什么是网络爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自 ...

  2. Crawler之Scrapy:数据挖掘必备的scrapy框架之最完整爬取网页内容攻略

    相关文章推荐 Scrapy:Python3版本上安装数据挖掘必备的scrapy框架详细攻略(二最完整爬取网页内容信息攻略) 目录 scrapy框架之最完整爬取网页内容攻略 scrapy框架之最完整爬取 ...

  3. java爬取网页内容 简单例子(2)——附jsoup的select用法详解

    [背景] 在上一篇博文 java爬取网页内容 简单例子(1)--使用正则表达式 里面,介绍了如何使用正则表达式去解析网页的内容,虽然该正则表达式比较通用,但繁琐,代码量多,现实中想要想出一条简单的正则 ...

  4. Python使用标准库urllib模拟浏览器爬取网页内容

    爬取网页内容的第一步是分析目标网站源代码结构,确定自己要爬取的内容在哪里,这要求对HTML代码有一定了解,对于某些网站内容的爬取还需要具有一定的Javascript基础.但是,如果目标网站设置了反爬机 ...

  5. python伪装浏览器爬取网页图片_【IT专家】python 分别用python2和python3伪装浏览器爬取网页内容...

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 python 分别用 python2 和 python3 伪装浏览器爬取网页内容 2017/07/06 1 python 网页抓取功能非常强大,使 ...

  6. C#批量爬取网站验证码图片/爬取网页内容(1)

    前段时间师姐给了我一个C#爬图的代码,很简单有效.我查了点资料,把代码搞懂了然后简化又扩展了一下使它能够爬取网页内容.现在把代码和过程放上来供有兴趣的朋友一起探讨. 这一部分只讲如何爬验证码图片.爬取 ...

  7. Python网络爬虫使用BeautifulSoup爬取网页内容并存入数据库案例

    使用BeautifulSoup爬取网页内容并存入数据库案例 学习了Python网络爬虫,完成里一个比较完整的爬虫案例与大家分享 爬取地址:http://www.tipdm.com/cpzx/index ...

  8. 用python爬取网页数据并存入数据库中源代码_Python爬取51cto数据并存入MySQL方法详解...

    [] 实验环境 1.安装Python 3.7 2.安装requests, bs4,pymysql 模块 实验步骤1.安装环境及模块 可参考https://www.jb51.net/article/19 ...

  9. 豆瓣电影Top250信息爬取并保存到excel文件中

    豆瓣电影Top250下载并保存到excel文件中 效果图 前言 确定目标网页url 爬取过程 导入相关库 页面内容的获取 页面解析 数据提取 主函数的编写 函数调用 数据存储 完整代码 结语 效果图 ...

  10. 爬取网易云音乐个人动态中的视频(Ⅱ): 分析并获取api

    回顾和概览 在 爬取网易云音乐个人动态中的视频(Ⅰ) 中简单的分析了一下需要做什么, 现在要做的就是获取网易云的api, 很遗憾, 网易云并没有开放api出来, 但是我们可以对网页进行调试, 尝试从中 ...

最新文章

  1. linux内核SMP负载均衡浅析
  2. 第十六章:数据绑定(七)
  3. 机器学习——01、机器学习的数学基础1 - 数学分析
  4. 数据思维,让决策更精准
  5. 数字化时代的新职业教育行业洞察
  6. 机器学习降维-深度AI科普团队
  7. jfinal-layui中如果sql是多表时条件查询写法
  8. 通过pgpool-II实现PostgreSQL数据库服务高可用
  9. keras安装不成功超时
  10. html手机陀螺仪,陀螺仪MEMS - 详解冷门但很重要的手机陀螺仪
  11. 打开Form时报错 FRM-18108:装载下列对象失败 FRM-10102不能附加PLSQL程序库
  12. 利用kali Linux进行中间人攻击
  13. 用JQuery实现简单计时答题游戏
  14. 三小时学会css(菜鸟教程精华版)【中】
  15. HanLP《自然语言处理入门》笔记--1.新手上路
  16. 都快2021了,你还不知道怎么成为优秀程序员?大牛推荐6个软件开发步骤
  17. oppor15android10怎么降级,OPPOR15系统降级教程
  18. mysql koa2的分页查询_koa2 快速实现注册、登录+分页(一)
  19. nfphosting注册教程,超低价VPS商家,年付4美元,支持支付宝
  20. 软件开发中会使用到的图

热门文章

  1. 面向对象18:接口(interface)
  2. awk 输出到多个文件 多路输出
  3. python模板注入_Python 模板引擎的注入问题分析
  4. 思科网院Packet Tracer实验(八)子网划分
  5. python中input的用法霍格沃_欢迎来到霍格沃茨—魔法01 Python 环境安装
  6. 离散数学计算机科学与技术答案,2计算机科学与技术专业本科离散数学期末复习题2...
  7. powerpc如何移植Linux系统,PowerPC平台 u-boot 移栽
  8. 比赛打分系统的计时器数字或滚动抽签数字不显示的原因解惑
  9. windows2003 IIS6 部署MVC4程序等等
  10. reg 正则表达式^