基于ThinkPHP5 使用QueryList爬取 并存入mysql数据库
QueryList4教程 地址:
https://doc.querylist.cc/site/index/doc/45
在ThinkPHP5代码根目录执行composer命令安装QueryList:
composer require jaeger/querylist
如果出现 以下错误
Loading composer repositories with package information
Updating dependencies (including require-dev)Authentication required (packagist.phpcomposer.com):Username:
出现这样的 情况
使用
composer config -g repo.packagist composer https://packagist.laravel-china.org
1-下面演示在Index控制器中使用QueryList:
use QL\QueryList;public function qulist(){$data = QueryList::get('http://maoyan.com/board/4')// 设置采集规则->rules([// 爬取图片地址"src"=>array(".board-wrapper dd img.board-img","data-src"),// 爬取电影名"name"=>array(".board-wrapper dd .movie-item-info .name","html"),// 爬取电影主演信息"star"=>array(".board-wrapper dd .movie-item-info .star","html"),// 爬取上映时间"releasetime"=>array(".board-wrapper dd .movie-item-info .releasetime","html"),])->query()->getData();$excel_array=$data->all();$city = [];foreach($excel_array as $k=>$v) {$city[$k]['src'] = $v['src'];$city[$k]['name'] = $v['name'];$city[$k]['star'] = $v['star'];$city[$k]['releasetime'] = $v['releasetime'];}Db::name("article")->insertAll($city);}
如果没有错的 则插入到数据库的
截图
2-如果想继续抓取下一页 数据 则要根据规律来取数据
public function qulist(){for($i=0;$i<20;$i++){$page=$i*10;$data = QueryList::get('http://maoyan.com/board/4?offset='.$page)// 设置采集规则->rules([// 爬取图片地址"src"=>array(".board-wrapper dd img.board-img","data-src"),// 爬取电影名"name"=>array(".board-wrapper dd .movie-item-info .name","html"),// 爬取电影主演信息"star"=>array(".board-wrapper dd .movie-item-info .star","html"),// 爬取上映时间"releasetime"=>array(".board-wrapper dd .movie-item-info .releasetime","html"),])->query()->getData();$excel_array=$data->all();$city = [];foreach($excel_array as $k=>$v) {$city[$k]['src'] = $v['src'];$city[$k]['name'] = $v['name'];$city[$k]['star'] = $v['star'];$city[$k]['releasetime'] = $v['releasetime'];}Db::name("article")->insertAll($city);}}
3- 继续抓取下一页 数据 并判断数据库是否存在 存在不爬虫 不存在继续填满 ,并且休眠几秒再爬取
public function qulist(){set_time_limit(0); //防止程序响应30秒后 报错for($i=0;$i<20;$i++){$page=$i*10;$data = QueryList::get('http://maoyan.com/board/4?offset='.$page)// 设置采集规则->rules([// 爬取图片地址"src"=>array(".board-wrapper dd img.board-img","data-src"),// 爬取电影名"name"=>array(".board-wrapper dd .movie-item-info .name","html"),// 爬取电影主演信息"star"=>array(".board-wrapper dd .movie-item-info .star","html"),// 爬取上映时间"releasetime"=>array(".board-wrapper dd .movie-item-info .releasetime","html"),])->query()->getData();$excel_array=$data->all();$city = [];foreach($excel_array as $k=>$v) {$find = Db::name("article")->where("src", "=",$excel_array[$k]["src"])->find();if (empty($find)) {$city[$k]['src'] = $v['src'];$city[$k]['name'] = $v['name'];$city[$k]['star'] = $v['star'];$city[$k]['releasetime'] = $v['releasetime'];}}if (!empty($city)){Db::name("article")->insertAll($city);}/** 暂停时间 为2秒执行*/sleep(2);}}
基于ThinkPHP5 使用QueryList爬取 并存入mysql数据库相关推荐
- 高德地图交通态势爬取并存入MySQL数据库
高德地图交通态势爬取并存入mysql数据库 高德地图交通态势开放api链接: 高德交通态势 高德地图交通态势使用流程: 第一步,申请"Web服务API接口"密钥(Key): 第二步 ...
- python爬取数据存入mysql
#这里的mysql数据库用的是phpstudy里的,安装方便 #需要下载MySqldb第三方库 import MySQLdb,requests from bs4 import BeautifulSou ...
- scrapy将爬取的数据存入mysql_scrapy爬取数据存入MySQL
创建工程 scrapy startproject tutorial 创建蜘蛛 scrapy genspider crawl_mysql inputMysql http://lab.scrapyd.cn ...
- 当当网 用什么数据库 mysql_当当网爬取数据到MySQL数据库,没有信息。
使用scrapy框架写的当当网数据爬取,数据能爬下来,但是导入不进去数据库中 大神,又来打扰你了 1.数据库名称: dd:数据库名 ddw 表名 2.问题报错 3.代码: 3.1 items文件代码: ...
- python 高德地图交通态势爬取(存入mysql)
高德Web服务API提供了交通态势的http接口,使用时分为以下3个过程: 第一步,申请"Web服务API接口"密钥(Key): 第二步,拼接HTTP请求URL,第一步申请的Key ...
- 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载
用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...
- Python爬取股票数据存入mysql数据库,获取股票(最新、最高、今开、成交量、成交额、量比、换手率、涨幅等)支持多线程+数据库连接池
项目简介 (Python)爬虫 + MySQL + Redis项目. 爬取下来的数据可用于后续的数据分析(我计划将其用于我的毕业设计). 未来会将数据分析的可视化部署到服务器上, 并添加股票降价通知的 ...
- 爬取Github Web API 并存入Mysql数据库
写在前面 本文内容为爬取GitHub的Web API并存入mysql数据库,内容为华为鸿蒙OS相关的代码. WEB API Web API是网络应用程序接口.它包含了广泛的功能,网络应用通过API接口 ...
- 使用PHP+QueryList 爬取猫眼电影榜单信息
爬虫是我一直以来跃跃欲试的技术,现在的爬虫框架很多,比较流行的是基于python,nodejs,java,C#的的框架,其中又以基于python的爬虫流行最为广泛,还有的已经是一套傻瓜式的软件操作,如 ...
最新文章
- Teradata推出Vantage on Azure,可实现自助配置、快速部署,提供安全、可扩展的高性能分析
- PlayMaker GUI的Normalized
- java 枚举常量_java中的枚举类和常量类区别在哪儿?
- art-template辅助函数和子模板
- DT100pro上手体验
- openwrt固件_openwrt固件
- 把执行结果转成json对象报错_给Hangfire的webjob增加callback和动态判断返回结果功能设计...
- 三种基于感知哈希算法的相似图像检索技术
- 面试感悟----一名3年工作经验的程序员应该具备的技能
- 京东工业品,走在「全国统一大市场」之前?
- 2021 Java面试真题集锦
- 谷歌地球不能用了,我推荐个替代方案,免费软件
- mac 电脑 java wifi密码尝试器
- 序列、列表、列表的方法以及遍历序列
- vue页面接收后端传递数值后保留两位小数
- 文件名和文件夹的bat批量重命名替换关键字和删除关键字
- Java中多态的粗浅见解
- CSS-精灵图片的使用(从一张图片中截图指定位置图标)
- 雷军以为会当一辈子码农,不料后来成了小米董事长
- WebStorm高效快捷生成html标签锦集(IDEA同)
热门文章
- GC时间过长优化方法
- matlab最优方案,matlab中文【应对方案】
- 一个时代的结束:全球第一大浏览器重磅更新!永久取消对Flash的支持
- 频谱分析仪的基本使用
- 2022-2027年中国推拉门行业市场运行现状及投资战略研究报告
- 柜体内形成电弧的四个阶段及弧光保护装置的设计
- hx711基准电压_HX711主要参数 - hx711中文资料汇总(hx711引脚图及功能_参数封装及应用电路)...
- 给右键菜单加入CMD命令行快速通道(适合win7)
- 抢课不再凭手速和运气,Python模拟登录学校教务系统抢课
- R语言【简单相关系数、散布矩阵图和偏相关系数、典型相关分析】