php爬虫最最最最简单教程
php爬虫最最最最简单教程
一、总结
一句话总结:用的爬虫框架,却是用的自己的例子(因为网站结构的变化,作者的例子不一定好用)
爬虫框架 自己例子
1、发现自己的运行效果和作者的不一样怎么办?
耐下性子快速阅读全部文档
作者的文档很有可能是之前写的,不一样正常,但是看文档的时候尽量全部文档都看一下,否则只看前面几个因为各种原因(比如例子年久失修)例子可能运行不出来
二、爬虫使用流程
1、下载爬虫框架
owner888/phpspider: 《我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言 》所使用的程序
https://github.com/owner888/phpspider
2700+Star,用用不亏
我下载的发布版2.1.6
点开
下载好的
然后解压

2、配置php环境(非必须,为了方便)
在电脑的系统环境变量配置里面,在path变量里面添加了一条php,可以发现我的php版本是7.0.12
不会配置电脑系统变量的自己百度去,和配置java的jdk类似
3、用我的例子(例子的功能是获取博客园里面文章的标题)
在demo文件夹下新建一个名为firstDemo_2.php的php文件
如下
文件里面的代码如下:例子的功能是获取博客园里面文章的标题
<?php
// composer下载方式
// 先使用composer命令下载:
// composer require owner888/phpspider
// 引入加载器
//require './vendor/autoload.php'; // GitHub下载方式
require_once __DIR__ . '/../autoloader.php';
use phpspider\core\phpspider; /* Do NOT delete this comment */
/* 不要删除这段注释 */ $configs = array(
'name' => '博客园',
'log_show' => false,
'domains' => array(
'www.cnblogs.com'
),
'scan_urls' => array(
'https://www.cnblogs.com/Renyi-Fan/p/10570492.html'
),
'fields' => array(
// 抽取内容页的文章标题
array(
'name' => "article_title",
'selector' => "//*[@id=\"cb_post_title_url\"]",
'required' => true
)
),
'export' => array(
'type' => 'sql',
'file' => './data/cnblog_fry.sql',
'table' => '数据表',
), ); $spider = new phpspider($configs);
$spider->start();
具体代码什么意思看官方文档:地址如下:
概述 · phpspider开发文档
https://doc.phpspider.org/
4、具体运行例子过程
在刚刚下载好的phpspider-2.1.6\demo的文件夹下打开命令行
运行:php -f firstDemo_2.php
运行效果:
5、运行的结果
在如下路径下打开cnblog_fry.sql即可查看爬虫效果
效果如下:
php爬虫最最最最简单教程的更多相关文章
- echarts怎么使用(最最最最简单版)(本质canvas)
echarts怎么使用(最最最最简单版)(本质canvas) 一.总结 一句话总结:外部扩展插件肯定要写js啊,不然数据怎么进去,不然宽高怎么设置.本质都是canvas嵌套在页面上,比如div中. 1 ...
- 其它课程中的python---4、Matplotlib最最最最简单使用
其它课程中的python---4.Matplotlib最最最最简单使用 一.总结 一句话总结: 慢慢来吧,不着急,心态平和和沉稳:每次和世界交互,你就能感受到无比的自信 1.如何区别python2和p ...
- vue双向数据绑定最最最最最简单直观的例子
vue双向数据绑定最最最最最简单直观的例子 一.总结 一句话总结:双向绑定既不仅model可以影响view的数据,view也可以影响model的数据 view model 数据 1.vue双向数据绑定 ...
- ThinkPHP5.0最最最最最简单实例
ThinkPHP5.0最最最最最简单实例 一.效果图 二.操作步骤 1.用mysql数据库建立数据库 2.按照ThinkPHP官网的指示装好ThinkPHP5.0 tp5里面的目录结构如下: 3.配置 ...
- vue.js最最最最简单实例
vue.js最最最最简单实例 一.总结 一句话总结: 1.vue.js实现实现数据的双向绑定用的是什么标记? 双大括号:比如{{message}} 2.vue数据循环输出的标记是什么? 用的是标签的v ...
- thinkphp5最最最最简单的ajax实例
thinkphp5最最最最简单的ajax实例 一.总结 一句话总结:页面端使用$.get()方法传递ajax请求,服务器端判断是不是ajax请求,是的话接受参数,进行逻辑处理之后向客户端返回值. 1. ...
- python从入门到大神---4、python3文件操作最最最最简单实例
python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...
- 让你从零开始学会写爬虫的5个教程(Python)
写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个爬虫脚本是很简单的,但是对于新手来说却并不是那么容易. ...
- [转]让你从零开始学会写爬虫的5个教程(Python)
让你从零开始学会写爬虫的5个教程(Python) 写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个 ...
随机推荐
- bzoj 4591 超能粒子炮·改 - Lucas
Description 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以发射威力更加 强大的粒子流的神秘装置.超能粒子炮·改相比超能粒子炮,在威 ...
- 使用TortoiseGit从GitHub下拉上传代码配置
转载:http://baijiahao.baidu.com/s?id=1579466751803515477&wfr=spider&for=pc 转载:https://blog.csd ...
- EGIT
https://jingyan.baidu.com/article/64d05a0262f013de55f73bcc.html
- mysql数据库连接的测试代码语句片断
手动连接数据库 的代码片断, 用于各种数据库的测试... $conn = mysql_connect('localhost', 'root', '') or die('failed to connec ...
- apache安装时的一些术语
apache源码安装时,需要的哪些必须依赖模块? 主要需要apr, apr-util, pcre模块 其中 apr模块时必须的. 如何卸载 源码安装的软件? 在源码 的 解压目录下, 使用 make ...
- CssClass="Hidden"和Visible="False"
<asp:Label ID="lblNoCustomTableItemCheckedInfo" runat="server" CssClass=" ...
- Activit工作流学习例子
看了网上一些文章,动手操作了一遍,终于学会了Activit的一些常规使用. 一.Eclipse中的Activiti插件安装 Activiti有一个Eclipse插件,Activiti Eclipse ...
- HDU 4557 Tree(可持久化字典树 + LCA)
http://acm.hdu.edu.cn/showproblem.php?pid=4757 题意: 给出一棵树,每个结点有一个权值,现在有多个询问,每次询问包含x,y,z三个数,求出在x到y的路径上 ...
- 草珊瑚理解IFC(inline formatting context)
1. 认识字体font-family 字体渲染的实际高度, 由字体本身的设置(升部ascender,降部descender,大写字母高度Capital Height,小写字母高度X-Height等等) ...
- 动态 hover 使用变相使用
使用 onmouseover 和 onmouseout 代替 hover foreach (var menu in Model.OrderBy(x => x.Order).Where(x ...