前言:css
来了个任务说要作个电影网站,要写个壳,数据直接从别人那扒。行吧!那就要学习下PHP爬虫了。占个博客,之后补充。http://study.querylist.cc/archives/6/html
以前开发抓取网页上的东西,无非就是curl+正则。用curl去请求所要扒取的页面,而后经过正则匹配去提取你所须要的内容。数组
可是查了下如今PHP爬虫能够经过使用QueryList来实现。能够经过CSS的DOM选择器来实现。浏览器
特性:网络
内容:
composer
由于要作一个电影网站,因此此次利用QueryList来爬取电影网资源,此次爬取的是——玩的嗨TV, 网址:http://tv.wandhi.com/movielist/all/3.html。curl
首先,选取这网站主要是它是个解析站,去破解各大网站的电影资源供给观看,建站也比较简易,没有啥限制防盗链啥的。固然所能爬取到的资源也比较少,也主要是电影播放资源丰富吧。模块化
主要爬取....(采集好像比较好听点)。本次主要采集了玩的嗨TV的电影列表页面和电影播放页面。学习
安装:测试
安装QueryList至关的简单,打开项目目录,运行compose命令进行安装
composer require jaeger/guerylist
(注意点 PHP版本须要在7.0以上)
在控制器中引入相应的类就能够开始使用了
use QL\QueryList;
使用:
先贴个小代码
/** * 采集电影首页 */ public function film_list($page = 1){ $path = '/movielist/all/'.$page.'.html'; $rules = [ 'link' => ['.lazy', 'href'], 'img' => ['.title>h5>a', 'src'], 'name' => ['.lazy', 'title'], 'score' => ['.score', 'html'], 'actor' => ['.subtitle', 'html'], ]; $data = QueryList::Query($this->url . $path, $rules)->data; return $data; }
从代码中能够很清楚的看出,使用QueryList的Query方法,参数为采集地址和采集规则。
采集地址就是你所要采集页面的网址。
采集规则是一个数组,结构“名字”=>[“css DOM选择器”,‘DOM属性’];
这样就能够采集到页面数据。
一、电影列表页面
页面结构以下:
爬取结果:
二、电影播放页面
页面结构:
主要采集这两个数据进行拼接就能得到视频的播放地址。
采集结果:
对数据进行拼接就能够得到视频播放地址。
总结:此次采集相对简单。QueryList还有提供了许多深层的方法,后面能够在进行测试使用。主要是进行了简易的采集,获取了所需的数据,电影网也足够了
结语:离职的最后一天,你会作些什么?