欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php能做爬虫吗

程序员文章站 2022-03-18 08:52:49
...
phpspider一款优秀的PHP开发蜘蛛爬虫

php能做爬虫吗

编写PHP网络爬虫,需要具备以下技能:

爬虫采用PHP编写(推荐学习:PHP视频教程

从网页中抽取数据需要用XPath ( XPath选择器教程 )

当然我们还可以使用CSS选择器 ( CSS选择器教程 )

很多情况下都会用到正则表达式 ( 正则表达式教程 )

Chrome的开发者工具是神器, 很多AJAX请求需要用它来分析

注意:本框架只能在命令行下运行,命令行、命令行、命令行,重要的事情说三遍 ^_^

本篇写的demo是爬取军事教育网站

<?php
require_once __DIR__ . '/../autoloader.php';
use phpspider\core\phpspider;

/* Do NOT delete this comment */
/* 不要删除这段注释 */

$configs = array(
    'name' => '军事', // 给你的爬虫起一个名字
    'log_show' => false, // 是否显示日志
    'tasknum' => 1, // 开启多少个进程爬取
    // 数据库配置
    'db_config' => array(
        'host'  => '127.0.0.1',
        'port'  => 3306,
        'user'  => 'root',
        'pass'  => 'root',
        'name'  => 'collection',
    ),
    // 数据库表,表需要已存在,collection库,test表
    'export' => array(
        'type' => 'db',
        'table' => 'test',
    ),
    // 爬取的域名列表
    'domains' => array(
        'war.163.com'
    ),
    // 抓取的起点
    'scan_urls' => array(
        'http://war.163.com'
    ),
    // 列表页实例,你要爬取的列表,也就是分页
    'list_url_regexes' => array(
        "http://war.163.com"
    ),
    // 内容页实例,文章的内容页
    // \d+ 指的是变量,就是可变的参数
    'content_url_regexes' => array(
        "http://war.163.com/photoview/4T8E0001/\d+",
    ),
    // 失败重新爬取次数
    'max_try' => 5,
    // 爬取规则配置
    'fields' => array(
        array(
            'name' => "title", // 数据库字段名
            'selector' => "//div[@class='headline']/h1", // 规则,表示:headline类里的h1标签
            'required' => true, // 如果为空,整条数据丢弃
        ),
        array(
            'name' => "content",
            'selector' => "//div[@class='overview']/p",
            'required' => true,
        ),
        array(
            'name' => "img",
            'selector' => "//img[@class='firstPreload']",
            'required' => true,
        ),
    ),
);

$spider = new phpspider($configs);
$spider->start();

以上就是php能做爬虫吗的详细内容,更多请关注其它相关文章!

相关标签: php