php爬虫入门之phpspider框架
前言
虽然python爬虫方便,但是php在这方面也不弱,谁让php是世界上最好的语言!这里推荐一款php的爬虫框架phpspider。不建议自己写爬虫,因为效率太低。使用框架爬虫真的要高效许多
官方文档:
https://doc.phpspider.org/
1、下载
官方github下载地址:
https://github.com/owner888/phpspider
下载地址可能无法访问,这里提供一个网盘下载地址:
https://pan.baidu.com/s/10n9ZOUQBlrJzOQx0ShOmMQ
提取码:b2zc
2、文件结构
下载解压后,phpspider的文件结构如图所示:
其中demo文件夹放的是phpspider的一些案例,如图所示:
3、创建爬虫并且运行
在demo文件夹下创建爬虫文件。需要注意的是,phpspider有两种运行爬虫文件的方式,一种是在命令行下运行;另外一种是可视化操作(在浏览器下运行)
3.1 在命令行下运行爬虫文件
要爬取的对象链接:
https://www.douban.com/photos/album/1616649448/
要爬取的内容如图所示:
爬取id为wrapper的div所包含的内容
3.1.1 在demo文件夹下新建文件spider.php,代码如下:
<?php
require_once__DIR__.'/../autoloader.php';
usephpspider\core\phpspider;
/* Do NOT delete this comment */
/* 不要删除这段注释 */
$configs =array(
'name'=>'豆瓣',//定义当前爬虫名称
'log_show'=>true,//显示日志调试信息
'input_encoding'=>'UTF-8',//输入编码
//定义爬虫爬取哪些域名下的网页, 非域名下的url会被忽略以提高爬取速度
'domains'=>array(
'www.douban.com'
),
//定义爬虫的入口链接, 爬虫从这些链接开始爬取,同时这些链接也是监控爬虫所要监控的链接
'scan_urls'=>array(
'https://www.douban.com/photos/album/1616649448/'
),
//爬虫爬取数据导出
'export'=>array(
'type'=>'csv',//type:导出类型 csv、sql、db
'file'=>'../data/abc.csv',//file:导出 csv、sql 文件地址,如果不存在文件自动创建
),
//定义内容页的抽取规则
'fields'=>array(
array(
'name'=>"wrapper",
'selector'=>"//div[@id='wrapper']",
)
)
);
$spider =newphpspider($configs);
$spider->start();
3.1.2 在demo文件夹中直接打开cmd命令面板,输入命令行 php -f spider.php 回车,代码跑起来,如图所示:
3.1.3 查看爬取下来的数据
在phpspider文件结构中找到data文件夹下的abc.csv文件,打开文件可看到爬取下来的数据,如图所示:
3.2 可视化操作(在浏览器下运行爬虫文件)
要爬取的对象链接:
https://movie.douban.com/subject/26588308/?from=showing
要爬取的内容如图所示:
爬取class为nav-items的div所包含的内容
3.2.1 在demo文件夹下新建另外一个文件test.php,代码如下:
<?php
header("Content-Type: text/html;charset=utf-8");
date_default_timezone_set("Asia/Shanghai");
ini_set("memory_limit","10240M");
require_once__DIR__.'/../autoloader.php';
usephpspider\core\phpspider;
usephpspider\core\requests;
usephpspider\core\selector;
/* Do NOT delete this comment */
/* 不要删除这段注释 */
$html = requests::get('https://movie.douban.com/subject/26588308/?from=showing');
$data = selector::select($html,"//div[@class='nav-items']");
echo$data;
3.2.2 打开浏览器输入文件地址
结语
以上只是简单的爬虫例子,还可以进行多进程爬取,代理爬虫,很多好玩的,更多操作参考官方文档
https://doc.phpspider.org/
php爬虫入门之phpspider框架相关推荐
- python爬虫入门(六) Scrapy框架之原理介绍
Scrapy框架 Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬 ...
- java启动scrapy爬虫,爬虫入门之Scrapy 框架基础功能(九)详解
Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...
- 爬虫入门3---爬虫实战
爬虫入门1---谈谈网络爬虫 爬虫入门2---爬虫框架webmagic 爬虫入门3---爬虫实战 3 爬虫实战 3.1 需求 每日某时间段从****博客中爬取文档,存入文章 ...
- Python爬虫入门——3.7 Scrapy爬虫框架安装
声明:参考资料<从零开始学Python网络爬虫 >作者:罗攀,蒋仟 机械工业出版社 ISBN: 9787111579991 参考资料<精通Python网络爬虫:核心技术. ...
- python爬虫如何从一个页面进入另一个页面-爬虫入门(一)——如何打开一个网页...
做了一段时间自然语言处理的项目,体会到了爬虫的乐趣,甚至一度产生了学好爬虫真的可以为所欲为的美妙错觉.因此决定开个坑,记录自己的爬虫学习过程,也督促自己学习更高深的爬虫姿势.目前我只用到了最基础的爬虫 ...
- python3爬虫入门教程-总算懂得python3.4爬虫入门教程
Python是一款功能强大的脚本语言,具有丰富和强大的库,重要的是,它还具有很强的可读性,易用易学,非常适合编程初学者入门.以下是小编为你整理的python3.4爬虫入门教程 环境配置:下载Pytho ...
- python爬虫入门代码-Python爬虫入门(一) 网络爬虫之规则
Python爬虫入门(一) 总述 本来早就想学习下python爬虫了,总是找各种借口,一直拖到现在才开始系统的学习. 我用的教程是中国大学MOOC上的由北京理工大学开设的Python网络爬虫与信息提取 ...
- python网络爬虫的基本步骤-python爬虫入门需要哪些基础/python 网络爬虫教程
如何入门 Python 爬虫 入门个吊,放弃 python爬虫入门需要哪些基础 现在之所以有多的小伙伴热衷于爬虫技术,无外乎是因为爬我们做很多事情,比如搜索引擎.采集数据.广告过滤等,以Python为 ...
- 一看就明白的爬虫入门讲解:基础理论篇
一看就明白的爬虫入门讲解:基础理论篇 发表于2015-11-13 18:50| 5909次阅读| 来源CSDN| 37 条评论| 作者孔淼 爬虫经验分享HTMLCSSAjaxApp网络 width=& ...
- python爬虫挖掘平台搭建_一篇非常棒的安装Python及爬虫入门博文!
原标题:一篇非常棒的安装Python及爬虫入门博文! 一. 大数据及数据挖掘基础(私信小编007即可获取大量Python学习资料!) 第一部分主要简单介绍三个问题: 1.什么是大数据? 2.什么是数据 ...
最新文章
- bilareralFilter双边滤波函数
- Python 计算机视觉(三)—— 数字图像处理基本操作
- Layui表格之多列合并展示
- Codeforces Round #635 (Div. 1) C. Kaavi and Magic Spell 区间dp
- Linux 命令之 pwck -- 用来验证系统认证文件内容和格式的完整性
- Android开发笔记(一百五十七)使用OpenGL实现翻书动画
- zynq文档学习之GPIO寄存器基本操作
- 关于C#中枚举与字符串与数字之间的转换
- 2016-05-06
- VHDL实验-实现一位全加器
- 基于PHP图书馆图书借阅管理系统
- android支持wifi11ad,WiFi“千兆”必杀,802.11ax/802.11ad标准探秘
- CTF-实验吧-图片里的动漫
- python键盘控制_python如何直接控制鼠标键盘
- echarts做中国地图分布
- 人力外派和猎头的区别是什么?哪个行业更赚钱?
- python数据写入csv、csv转excel、用Pandas把数据写入excel简单总结
- 深入CSS vertical-align属性
- 《3D数学基础:图形与游戏开发》 学习笔记(一)
- 使用capl和uds进行.bin文件的刷写
热门文章
- ipadmini1从9.3.5降级8.4.1最有效的方法
- 饥荒海难创建显示专用服务器,饥荒联机版服务器移除实体指令分享
- 实现简易网易云音乐播放器
- Vercel部署网易云音乐api
- 高通平台,MSM8937/MSM8953 RF配置流程
- 项目: 生命游戏(C语言)
- Illustrator CC从入门到精通 精装版-李发展-专题视频课程
- 沧小海基于xilinx srio核的学习笔记之第三章 xilinx srio核介绍(三)核配置
- sql 循环语句几种方式
- dbv连oracle,oracle工具:DBV的用法