php爬虫实战(抓取美拍视频)
抓取页面
地址:http://www.meipai.com/medias/hot
public function getContentByFilegetcontents($url) {$content = file_get_contents($url);return $content;}
然后我们会获取到整个页面的代码,接下来就是从代码中提取出视频的地址 标题 图片等关键信息
2.提取
我们发现视频的主要代码集中在以下代码中
<li class="pr no-select loading J_media_list_item" itemscope itemtype="http://schema.org/VideoObject"><img src="http://mvimg1.meitudata.com/5733fe57ce7aa8996.jpg!thumb320" width="300" height="300" class="db pa pai" alt="手撕包菜。包菜撕片装洗净备用。热锅入油五花肉下锅煸炒出油,多余的油盛出。放酱油肉上色,盛出。之前的油倒锅内,放蒜辣椒炒香,下包菜继续翻炒,倒适量酱油老抽五香粉。再下之前炒好的五花肉翻炒,放适量盐,出锅前放鸡精淋入适量香醋即可非常香啊,超级下饭。喜欢的点赞奥#美食##家常菜#" itemprop="thumbnail"><div id="w517161790" class="content-l-video content-l-media-wrap pr cp" data-id="517161790" data-video="http://mvvideo1.meitudata.com/5734040ae2dec950.mp4"><div class="layer-black pa"></div><a hidefocus href="/media/517161790" target="_blank" class="content-l-p pa" title="手撕包菜。包菜撕片装洗净备用。热锅入油五花肉下锅煸炒出油,多余的油盛出。放酱油肉上色,盛出。之前的油倒锅内,放蒜辣椒炒香,下包菜继续翻炒,倒适量酱油老抽五香粉。再下之前炒好的五花肉翻炒,放适量盐,出锅前放鸡精淋入适量香醋即可非常香啊,超级下饭。喜欢的点赞奥#美食##家常菜#"><meta itemprop="url" content="/media/517161790"><i class="icon icon-item-play"></i><strong class="js-convert-emoji" itemprop="description">哈喇嘎子流成河</strong></a></div><div class="pr" itemscope itemtype="http://schema.org/AggregateRating"><a hidefocus href="/user/62299474" class="dbl h48"><img src="http://mvavatar2.meitudata.com/5731f6b7bbee979.jpg!thumb60" width="28" height="28" class="avatar m10" title="小优Lucky" alt="小优Lucky"></a><p class="content-name pa"><a hidefocus href="/user/62299474" class="content-name-a js-convert-emoji" title="小优Lucky" itemprop="author">小优Lucky</a></p><div class="content-like pa" data-id="517161790"><i class="icon icon-like"></i><span itemprop="ratingCount">3060</span></div><a hidefocus href="/media/517161790" data-sc="1" target="_blank" class="conten-command pa" data-id="517161790"><i class="icon icon-command"></i><span itemprop="reviewCount">100</span></a></div>
</li>
通过正则匹配
public function extracturl($page) {$matches = array();$voide=array();$mainurl="";$list=array();$j=0;$pat = "/<li class=\"pr no-select loading J_media_list_item\".*?>.*?<\/li>/ism";preg_match_all($pat, $page, $matches, PREG_PATTERN_ORDER);for ($i=0; $i <count($matches[0]) ; $i++) { $pat1 ="/data-video=\"(.*?)\"/ism";preg_match_all($pat1, $matches[0][$i], $voide, PREG_PATTERN_ORDER);$myvoide=$voide[1][0];$pat2 ="/src=\"(.*?)\"/ism";preg_match_all($pat2, $matches[0][$i], $img, PREG_PATTERN_ORDER);$myimg=$img[1][0];$pat3 ="/<strong class=\"js-convert-emoji\".*?>(.*?)<\/strong>/ism";preg_match_all($pat3, $matches[0][$i], $title, PREG_PATTERN_ORDER);$mytitle= $title[1][0];$list[$j++]=array('voide'=>$myvoide,'title'=>$mytitle,'img'=>$myimg);}return $list;}
}
全部代码
<?php
class Cutecrawler {public function getContentByFilegetcontents($url) {$content = file_get_contents($url);return $content;}public function extracturl($page) {$matches = array();$voide=array();$mainurl="";$list=array();$j=0;$pat = "/<li class=\"pr no-select loading J_media_list_item\".*?>.*?<\/li>/ism";preg_match_all($pat, $page, $matches, PREG_PATTERN_ORDER);for ($i=0; $i <count($matches[0]) ; $i++) { $pat1 ="/data-video=\"(.*?)\"/ism";preg_match_all($pat1, $matches[0][$i], $voide, PREG_PATTERN_ORDER);$myvoide=$voide[1][0];$pat2 ="/src=\"(.*?)\"/ism";preg_match_all($pat2, $matches[0][$i], $img, PREG_PATTERN_ORDER);$myimg=$img[1][0];$pat3 ="/<strong class=\"js-convert-emoji\".*?>(.*?)<\/strong>/ism";preg_match_all($pat3, $matches[0][$i], $title, PREG_PATTERN_ORDER);$mytitle= $title[1][0];$list[$j++]=array('voide'=>$myvoide,'title'=>$mytitle,'img'=>$myimg);}return $list;}
}$url = "http://www.meipai.com/medias/hot";$crawler = new Cutecrawler();$content = $crawler->getContentByFilegetcontents($url);$c=$crawler->extracturl($content);var_dump($c);
?>
最后结果:
array(24) {[0]=>array(3) {["voide"]=>string(51) "http://mvvideo2.meitudata.com/5737fd5caeb838981.mp4"["title"]=>string(27) "老师那些年常说的话"["img"]=>string(58) "http://mvimg4.meitudata.com/57384337bd8b59410.jpg!thumb320"}[1]=>array(3) {["voide"]=>string(50) "http://mvvideo2.meitudata.com/5737fceabf873602.mp4"["title"]=>string(21) "女友突然冷落你"["img"]=>string(58) "http://mvimg2.meitudata.com/5736d25d0aa5d8991.jpg!thumb320"}[2]=>array(3) {["voide"]=>string(51) "http://mvvideo2.meitudata.com/5737f300131e18596.mp4"["title"]=>string(27) "女明星之间的内心戏"["img"]=>string(58) "http://mvimg1.meitudata.com/5737059ad66e16795.jpg!thumb320"}[3]=>array(3) {["voide"]=>string(51) "http://mvvideo2.meitudata.com/5737eb9d0bfc92046.mp4"["title"]=>string(24) "真替老师感到悲剧"["img"]=>string(57) "http://mvimg3.meitudata.com/5737ebf503431343.jpg!thumb320"}
接下来。。。你可以存入数据库
转载于:https://blog.51cto.com/updown/1773721
php爬虫实战(抓取美拍视频)相关推荐
- Python爬虫实战---抓取图书馆借阅信息
Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...
- python爬取boss直聘招聘信息_Python爬虫实战-抓取boss直聘招聘信息
Python Python开发 Python语言 Python爬虫实战-抓取boss直聘招聘信息 实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Pyth ...
- Scrapy 框架抓取美拍视频
抓取美拍的数据并不算是很难 关键是他的视频url的加密算法是有点难搞. 打开美拍的网址我们查看一下源代码,他的网页加载方式跟其它的网站差不多,video_url也是在源代码中,但是我们仔细看,诺就是下 ...
- 【第4篇】Python爬虫实战-抓取B站弹幕视频
目录 1.获取视频cid参数 2.程序源代码 3.程序运行结果 4.总结 1.获取视频cid参数 首先我们打开一个有弹幕的B站视频,比如:<我好像在哪见过你>人们把难言的爱都埋入土壤里_哔 ...
- python爬虫招聘-Python爬虫实战-抓取boss直聘招聘信息
实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃.为此小编建了个Python全栈免费答疑.裙 : ...
- python爬虫实战-抓取同花顺股票信息
前言: 在之前介绍requests的基础上,现在开始进行实战. 目标网站:http://q.10jqka.com.cn//index/index/board/all/field/zdf/order/d ...
- python爬虫实战-爬取新闻联播视频和新闻文稿
一.爬取新闻联播视频 1. 将视频拖到最后 2. 分析视频缓存链接 如图所示url:https://hls.cntv.baishancdnx.cn/asp/hls/1200/0303000a/3/de ...
- python 爬虫实战 抓取学校bbs相关板块的发帖信息
1. 前言 之前也因为感兴趣, 写过一个抓取桌面天空里面喜欢的动漫壁纸的爬虫代码.这两天突然看到有人写了这么一篇文章: 爬取京东本周热卖商品基本信息存入MySQL 觉得蛮有趣的, 正好临近找工作的季节 ...
- 40行代码教你利用Python网络爬虫批量抓取小视频
1. 前言 还在为在线看小视频缓存慢发愁吗?还在为想重新回味优秀作品但找不到资源而忧虑吗?莫要慌,让python来帮你解决,40行代码教你爬遍小视频网站,先批量下载后仔细观看,岂不美哉! 2. 整理思 ...
最新文章
- 滴滴AI Labs负责人叶杰平离职!CTO 张博接任
- CButtonST的用法详解!
- C语言递归遍历一棵二叉树(附完整源码)
- oracle存储过程写法(一)
- c++ 字符串转数字
- 最全攻略:数据分析师必备Python编程基础知识
- c# txt代码转换成HTML格式
- VS2015 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解
- 湖南计算机专科学院分数线,湖南电子科技职业学院历年录取分数线
- h5支付回调返回值是什么 php_微信HTML5网页支付PHP + JS API总结
- 微信ipad协议源码
- 杜比专为旧版本Android,Android O专用杜比音效miui10已成功
- Python入门学习—列表(FishC)
- 设置Node.js脚本开机自启动
- Windows禁用签名启动
- mysql查询excel表_使用SQL语句实现对Excel工作表数据进行查询的方法
- 淮阴工学院计算机网络题库,淮阴工学院计算机导论题库.doc
- Android 获取手机中微信聊天记录
- 一个通证经济典型案例——移动广告矿机
- python批量下载数据|工具箱
热门文章
- 复权算法详解与代码实现细节解析(tgw)——量化数据中台系列(六)
- Android 聊天界面背景图片不顶上去内容顶上去解决方法
- Mask RCNN详解
- 【Linux】进程概念(下)
- 【Bleak】三、扫描(指定设备地址)
- Unity 地形编辑器详解(V客学院技术分享)
- 成功解决 ModuleNotFoundError: No module named ‘spellchecker‘
- 2022深信服Python开发岗面试
- Android进阶之路 - 顶部状态栏、底部虚拟导航栏相关操作
- CAPP是利用计算机技术,浅谈CAPP 技术在企业的应用