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学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个 ...
随机推荐
- 【题解】Luogu P5072 [Ynoi2015]盼君勿忘
众所周知lxl是个毒瘤,Ynoi道道都是神仙题,题面好评 原题传送门 一看这题没有修改操作就知道这是莫队题 我博客里对莫队的简单介绍 既然是莫队,我们就要考虑每多一个数或少一个数对答案的贡献是什么 假 ...
- RAFT实践
1. raft org 2. paper 3. animation 4. python examples Raft-python 这个不是很好用. simpleRaft Raft算法分析与理解 ...
- Springbooot +Mybaties 配置数据库多数据源
前言 在实际项目中,我们可能会碰到在一个项目中会访问多个数据库的情况.针对这种情况,我们就需要配置动态的数据源了.一般按照以下步骤即可 一.在启动类上添加注解 二.在application.prope ...
- TCPCopy 使用方法
TCPCopy 使用方法 TCPCopy是一种请求复制(所有基于tcp的packets)工具,可以把在线请求导入到测试系统中去.目前此工具已经广泛应用于国内各大互联网公司. TCPCopy七大功能 1 ...
- Spring Cloud 入门指南
Spring Cloud 方志朋-史上最简单的 Spring Cloud 教程
- Jenkins serving Cake: our recipe for Windows
https://novemberfive.co/blog/windows-jenkins-cake-tutorial/ Where we started, or: why Cake took the ...
- Windows环境下32位汇编语言程序设计笔记-基础篇
内存模式 .386 .model flat,stdcall ;子程序调用模式,win32中只能用stdcall,因为win32api调用使用的这个 option casemap:none ;定义了程序 ...
- Directional RNA-seq data -which parameters to choose?
Directional RNA-seq data -which parameters to choose? REF: https://chipster.csc.fi/manual/library-ty ...
- p1110 报表统计(FHQ-TREAP/TREAP)
平衡树的裸题,操作都相当简单 写了一个FHQ,但是奈何常数太大,实在过不去 最后写了一个Treap开O2水过 TREAP代码 #include <cstdio> #include < ...
- (zhuan) Notes on Representation Learning
this blog from: https://opendatascience.com/blog/notes-on-representation-learning-1/ Notes on Repr ...