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爬虫最最最最简单教程的更多相关文章

  1. echarts怎么使用(最最最最简单版)(本质canvas)

    echarts怎么使用(最最最最简单版)(本质canvas) 一.总结 一句话总结:外部扩展插件肯定要写js啊,不然数据怎么进去,不然宽高怎么设置.本质都是canvas嵌套在页面上,比如div中. 1 ...

  2. 其它课程中的python---4、Matplotlib最最最最简单使用

    其它课程中的python---4.Matplotlib最最最最简单使用 一.总结 一句话总结: 慢慢来吧,不着急,心态平和和沉稳:每次和世界交互,你就能感受到无比的自信 1.如何区别python2和p ...

  3. vue双向数据绑定最最最最最简单直观的例子

    vue双向数据绑定最最最最最简单直观的例子 一.总结 一句话总结:双向绑定既不仅model可以影响view的数据,view也可以影响model的数据 view model 数据 1.vue双向数据绑定 ...

  4. ThinkPHP5.0最最最最最简单实例

    ThinkPHP5.0最最最最最简单实例 一.效果图 二.操作步骤 1.用mysql数据库建立数据库 2.按照ThinkPHP官网的指示装好ThinkPHP5.0 tp5里面的目录结构如下: 3.配置 ...

  5. vue.js最最最最简单实例

    vue.js最最最最简单实例 一.总结 一句话总结: 1.vue.js实现实现数据的双向绑定用的是什么标记? 双大括号:比如{{message}} 2.vue数据循环输出的标记是什么? 用的是标签的v ...

  6. thinkphp5最最最最简单的ajax实例

    thinkphp5最最最最简单的ajax实例 一.总结 一句话总结:页面端使用$.get()方法传递ajax请求,服务器端判断是不是ajax请求,是的话接受参数,进行逻辑处理之后向客户端返回值. 1. ...

  7. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  8. 让你从零开始学会写爬虫的5个教程(Python)

    写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个爬虫脚本是很简单的,但是对于新手来说却并不是那么容易. ...

  9. [转]让你从零开始学会写爬虫的5个教程(Python)

    让你从零开始学会写爬虫的5个教程(Python)   写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个 ...

随机推荐

  1. bzoj 4591 超能粒子炮·改 - Lucas

    Description 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以发射威力更加 强大的粒子流的神秘装置.超能粒子炮·改相比超能粒子炮,在威 ...

  2. 使用TortoiseGit从GitHub下拉上传代码配置

    转载:http://baijiahao.baidu.com/s?id=1579466751803515477&wfr=spider&for=pc 转载:https://blog.csd ...

  3. EGIT

    https://jingyan.baidu.com/article/64d05a0262f013de55f73bcc.html

  4. mysql数据库连接的测试代码语句片断

    手动连接数据库 的代码片断, 用于各种数据库的测试... $conn = mysql_connect('localhost', 'root', '') or die('failed to connec ...

  5. apache安装时的一些术语

    apache源码安装时,需要的哪些必须依赖模块? 主要需要apr, apr-util, pcre模块 其中 apr模块时必须的. 如何卸载 源码安装的软件? 在源码 的 解压目录下, 使用 make ...

  6. CssClass="Hidden"和Visible="False"

    <asp:Label ID="lblNoCustomTableItemCheckedInfo" runat="server" CssClass=" ...

  7. Activit工作流学习例子

    看了网上一些文章,动手操作了一遍,终于学会了Activit的一些常规使用. 一.Eclipse中的Activiti插件安装 Activiti有一个Eclipse插件,Activiti Eclipse ...

  8. HDU 4557 Tree(可持久化字典树 + LCA)

    http://acm.hdu.edu.cn/showproblem.php?pid=4757 题意: 给出一棵树,每个结点有一个权值,现在有多个询问,每次询问包含x,y,z三个数,求出在x到y的路径上 ...

  9. 草珊瑚理解IFC(inline formatting context)

    1. 认识字体font-family 字体渲染的实际高度, 由字体本身的设置(升部ascender,降部descender,大写字母高度Capital Height,小写字母高度X-Height等等) ...

  10. 动态 hover 使用变相使用

    使用   onmouseover  和 onmouseout 代替 hover foreach (var menu in Model.OrderBy(x => x.Order).Where(x ...