php爬虫最最最最简单教程
2024-08-24 07:54:26
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即可查看爬虫效果
效果如下:
最新文章
- js实现web网页版台球游戏
- knockoutJS学习笔记02:jsRender模板引擎
- 51NOD算法马拉松11 B君的竞技场
- 推荐15款最好的 Twitter Bootstrap 开发工具
- Vector Clock/Version Clock
- Palindromic Number (还是大数)
- C# ORM—Entity Framework 之Database first(数据库优先)&;Model First(模型优先)(一)
- 开源项目live555学习心得
- 使用Git初始化项目
- ThinkPHP 数据库操作(一) : 连接数据库
- .NET Core实战项目之CMS 第七章 设计篇-用户权限极简设计全过程
- PowerShell执行脚本时“系统上禁止运行脚本”问题解决
- C++ 标准库之 iomanip 、操作符 ios::fixed 以及 setprecision 使用的惨痛教训经验总结
- 手写JavaScript常用的函数
- js千分位加逗号
- Echarts-各个配置项详细说明总结【转】
- HDU 3691 Nubulsa Expo(全局最小割)
- jsp操作javabean
- Hopewell Project Sharing项目总结分享PPT
- win10 uwp 商业游戏
热门文章
- Linux 基础知识选择/填空
- 问题:oracle 12c rac数据库服务器的home目录丢失问题解决2018-06-25 18:30
- Linux-eval
- 数组中的元素 增加push用法 unshift() 方法 和减少pop() 方法 shift() 和其他位置增删 splice() 方法 join() 方法 reverse() 方法 sort() 方法
- SQL 基础语法笔记教程整理
- ZOJ 3962 Seven Segment Display(数位DP)题解
- BZOJ 4399 魔法少女LJJ(线段树合并)
- Latex: extra alignment tab has been changed to cr
- CCF计算机网络会议日期
- TensorFlow 安装以及python虚拟环境