>백엔드 개발 >PHP 문제 >PHP를 크롤러로 사용할 수 있나요?

PHP를 크롤러로 사용할 수 있나요?

(*-*)浩
(*-*)浩원래의
2019-09-28 10:52:524321검색

phpspider는 훌륭한 PHP로 개발된 스파이더 크롤러입니다.

PHP를 크롤러로 사용할 수 있나요?

PHP 웹 크롤러를 작성하려면 다음 기술이 필요합니다.

크롤러는 PHP로 작성됩니다(권장 학습: PHP 비디오 튜토리얼)

From 웹페이지에서 데이터를 추출하려면 XPath(XPath Selector Tutorial)를 사용해야 합니다

물론 CSS Selector(CSS Selector Tutorial)도 사용할 수 있습니다

정규식(Regular Expression Tutorial)을 많이 사용합니다

개발 Chrome 이 도구는 인공물이므로 많은 AJAX 요청을 이를 사용하여 분석해야 합니다

참고:이 프레임워크는 명령줄, 명령줄, 명령줄, 명령줄에서만 실행할 수 있으며 중요한 사항은 세 번 말해야 합니다^ _^

이 글에 작성된 데모는 군사교육 웹사이트를 크롤링하는 것입니다

<?php
require_once __DIR__ . &#39;/../autoloader.php&#39;;
use phpspider\core\phpspider;

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

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

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

위 내용은 PHP를 크롤러로 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.