phpspider PHP 爬虫
* 通过composer下载
composer require owner888/phpspider
// composer.json
{
    "require": {
        "owner888/phpspider": "^2.1"
    }
}
* 去掉讨厌的注释
https://doc.phpspider.org/demo-start.html
./vendor/owner888/phpspider/core/phpspider.php
/* Do NOT delete this comment */
// 彩蛋
$included_files = get_included_files();
$content = file_get_contents($included_files[0]);
if (!preg_match("#/\* Do NOT delete this comment \*/#", $content) || !preg_match("#/\* 不要删除这段注释 \*/#", $content))
{
$msg = "Unknown error...";
log::error($msg);
exit;
}
删掉这段恶心的代码
* 导入数据库文件
cd ./vendor/owner888/phpspider/demo
mysql -uroot -hlocalhost -p
create database demo charset utf8 collate utf8_general_ci;
\. qiushibaike.sql
# ************************************************************
# Sequel Pro SQL dump
# Version 4541
#
# http://www.sequelpro.com/
# https://github.com/sequelpro/sequelpro
#
# Host: 127.0.0.1 (MySQL 5.7.14)
# Database: demo
# Generation Time: 2016-10-20 16:55:11 +0000
# ************************************************************ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; # Dump of table content
# ------------------------------------------------------------ DROP TABLE IF EXISTS `content`; CREATE TABLE `content` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`depth` int(11) DEFAULT NULL,
`url` varchar(200) DEFAULT NULL,
`article_title` varchar(20) DEFAULT NULL,
`article_headimg` varchar(150) DEFAULT NULL,
`article_author` varchar(20) DEFAULT NULL,
`article_content` text,
`article_publish_time` int(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
* 创建./index.php
<?php
require './vendor/autoload.php'; use phpspider\core\phpspider; $configs = [
'name' => '糗事百科',
'domains' => [
'qiushibaike.com',
'www.qiushibaike.com'
],
'scan_urls' => [
'http://www.qiushibaike.com/'
],
'content_url_regexes' => [
"http://www.qiushibaike.com/article/\d+"
],
'list_url_regexes' => [
"http://www.qiushibaike.com/8hr/page/\d+\?s=\d+"
],
'fields' => [
[
// 抽取内容页的文章内容
'name' => "article_content",
'selector' => "//*[@id='single-next-link']",
'required' => true
],
[
// 抽取内容页的文章作者
'name' => "article_author",
'selector' => "//div[contains(@class,'author')]//h2",
'required' => true
],
],
'log_show' => true,
'input_encoding' => 'utf-8',
'output_encoding' => 'utf-8',
'db_config' => [
'host' => '127.0.0.1',
'user' => 'root',
'pass' => '',
'name' => 'demo',
'port' => 3306
],
/*
'export' => [
'type' => 'sql',
'file' => './data/sql/qiushibaike.sql'
]
*/
'export' => [
'type' => 'db',
'table' => 'content',
]
]; $spider = new phpspider($configs);
$spider->start();
* Run
php ./index.php
phpspider PHP 爬虫的更多相关文章
- phpspider php爬虫框架
		
其实我自身的不是经常写正则,而且不规则的html去写正则本身就是件很麻烦的事情,如果页面有些微变动和更新就得再次去维护正则表达式,其实是非常蛋疼的 我第一感觉就是去找一下爬虫的库,但是发现现在php爬 ...
 - 关于php网络爬虫phpspider。
		
前几天,被老板拉去说要我去抓取大众点评某家店的数据,当然被我义正言辞的拒绝了,理由是我不会...但我的反抗并没有什么卵用,所以还是乖乖去查资料,因为我是从事php工作的,首先找的就是php的网络爬虫源 ...
 - 关于php网络爬虫phpspider
		
前几天,被老板拉去说要我去抓取大众点评某家店的数据,当然被我义正言辞的拒绝了,理由是我不会...但我的反抗并没有什么卵用,所以还是乖乖去查资料,因为我是从事php工作的,首先找的就是php的网络爬虫源 ...
 - phpspider爬虫框架的使用
		
这几天使用PHP的爬虫框架爬取了一些数据,发现还是挺方便的,先上爬虫框架的文档 phpspider框架文档 使用方法其实在文档中写的很清楚而且在demo中也有使用示例,这里放下我自己的代码做个笔记 & ...
 - php爬虫 phpspider
		
<?php /** * Created by PhpStorm. * User: brady * Date: 2016/12/9 * Time: 17:32 */ ini_set("m ...
 - [爬虫资源]各大爬虫资源大汇总,做我们自己的awesome系列
		
大数据的流行一定程序导致的爬虫的流行,有些企业和公司本身不生产数据,那就只能从网上爬取数据,笔者关注相关的内容有一定的时间,也写过很多关于爬虫的系列,现在收集好的框架希望能为对爬虫有兴趣的人,或者 ...
 - php 爬虫框架
		
发现两款不错的爬虫框架,极力推荐下: phpspider 一款优秀的PHP开发蜘蛛爬虫 官方下载地址:https://github.com/owner888/phpspider 官方开发手册:http ...
 - 利用phpspider爬取网站数据
		
本文实例原址:PHPspider爬虫10分钟快速教程 在我们的工作中可能会涉及到要到其它网站去进行数据爬取的情况,我们这里使用phpspider这个插件来进行功能实现. 1.首先,我们需要php环境, ...
 - php爬虫最最最最简单教程
		
php爬虫最最最最简单教程 一.总结 一句话总结:用的爬虫框架,却是用的自己的例子(因为网站结构的变化,作者的例子不一定好用) 爬虫框架 自己例子 1.发现自己的运行效果和作者的不一样怎么办? 耐下性 ...
 
随机推荐
- HttpClient调用doGet、doPost、JSON传参及获得返回值
			
调用 doPost:map传参 Map<String,Object> map = new HashMap<>(); map.put("test"," ...
 - 查询liunx上磁盘占用情况
			
查询挂载盘磁盘情况 df -h 查询指定目录下的文件夹内存占用情况 du -hs /*
 - COM笔记-COM库函数
			
COM在OLE32.DLL和 OLE32.LIB定义了一些常用的函数.在使用这些函数前要先调用CoInitialize来初始化COM库.当进程不再需要使用COM库函数时要调用CoUninitializ ...
 - dataTemplate 使用
			
App ----------------------------------------------------------------- <Application x:Class=" ...
 - [ASP.NET MVC]@Scripts.Render、@Styles.Render的使用
			
一.配置BundleConfig.cs文件 1.首先要在App_Start 里面BundleConfig.cs 文件里面 添加要包含的css文件 2.BundleConfig就是一个微软新加的 一个打 ...
 - Django常用 命令
			
Django常用 命令: 安装: pip install django 指定版本 pip3 install django==2.0 新建项目: django-admin.py startproject ...
 - PQGrid商业化的表格组件
			
官网地址https://paramquery.com/pro/grid 右侧导航条有目录哟,看着更方便 快速入门 表格构建 API简单介绍 主要研究功能介绍 快速入门 ParamQuery Grid ...
 - 二.Go微服务--令牌桶
			
1. 令牌桶 1.1 原理 我们以 r/s 的速度向桶内放置令牌,桶的容量为 b , 如果桶满了令牌将会丢弃 当请求到达时,我们向桶内获取令牌,如果令牌足够,我们就通过转发请求 如果桶内的令牌数量不够 ...
 - 自定义Listener
			
前言 为什么要自定义Listener? 通过自定义,可以在程序启动过程中监听特定事件,再回调处理逻辑. 自定义SpringApplicationRunListener 1.创建自定义SpringApp ...
 - C++模板使用
			
C++模板 模板是一种对类型进行参数化的工具: 通常有两种形式:函数模板和类模板: 函数模板针对仅参数类型不同的函数: 例如:Max函数 :求两个数的最大值,我们需要对各种数据类型进行重载,如下 in ...