크롤러를 만들 때 누구나 가장 먼저 생각할 수 있는 것은 Python입니다. 실제로 PHP를 사용하여 크롤러 프로그램을 작성할 수도 있습니다. PHP는 항상 간단하고 사용하기 쉬웠습니다. 저는 개인적으로 PHPspider 프레임워크를 사용하여 10분 안에 간단한 크롤러 프로그램을 작성할 수 있다는 것을 테스트했습니다.
1. PHP 환경 설치
PHP에도 Python과 마찬가지로 환경이 필요합니다. PHP도 공식 홈페이지에서 다운로드하여 사용할 수도 있고, XAMPP, PHPstudy 등 통합 환경에서 사용할 수도 있습니다. MySQL 데이터베이스를 별도로 설치할 필요가 없으므로 통합 환경을 권장합니다.
2. Composer 설치
Composer는 Python의 PIP와 유사한 PHP의 종속성 패키지 관리 도구입니다.
중국 공식 홈페이지는 https://www.phpcomposer.com/
다운받아 설치하세요. cmd를 win+R로 실행하시고, 작곡가 명령어를 입력하시면 설치가 성공한 것입니다.
3. PHPspider 설치
어느 위치에나 폴더를 생성합니다. 예를 들어 Jianshu의 데이터를 캡처하려면 D 드라이브에 jianshu 폴더를 만든 다음 다음을 사용하여 폴더에 들어갈 수 있습니다. cmd 명령을 실행하고 다음 명령을 실행하세요.
composer require owner888/phpspider
다음 결과는 성공적인 설치입니다.
관련 추천: "php 환경 구축"
넷째, 첫 번째 크롤러 작성을 시작하세요
이제 jianshu 폴더를 열면 그 안에 더 많은 것들이 있다는 것을 알게 될 것입니다. 걱정하지 마세요 그것에 대해 PHP 파일을 만들고 코딩을 시작하십시오.
개발 문서는 여기에 있습니다: https://doc.phpspider.org/demo-start.html
여기서는 기본 사항에 대해 이야기하지 않고 바로 코드로 이동합니다. 10분짜리 빠른 튜토리얼.
매칭 방법은 XPach 구문을 사용합니다.
<?php require '/vendor/autoload.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' => '', 'name' => 'demo', ), 'export' => array( 'type' => 'db', 'table' => 'jianshu', // 如果数据表没有数据新增请检查表结构和字段名是否匹配 ), //爬取的域名列表 'domains' => array( 'jianshu', 'www.jianshu.com' ), //抓取的起点 'scan_urls' => array( 'https://www.jianshu.com/c/V2CqjW?utm_medium=index-collections&utm_source=desktop' ), //列表页实例 'list_url_regexes' => array( "https://www.jianshu.com/c/\d+" ), //内容页实例 // \d+ 指的是变量 'content_url_regexes' => array( "https://www.jianshu.com/p/\d+", ), 'max_try' => 5, 'fields' => array( array( 'name' => "title", 'selector' => "//h1[@class='title']", 'required' => true, ), array( 'name' => "content", 'selector' => "//div[@class='show-content-free']", 'required' => true, ), ), ); $spider = new phpspider($configs); $spider->start();
구문의 의미를 조금 설명해 보겠습니다.
//h1[@class='title']
title 클래스 값을 가진 모든 h1 노드를 가져옵니다.
//div[@class='show-content-free']
show-content-free 클래스 값을 가진 모든 div 노드를 가져옵니다
코드를 작성하려면 검색된 콘텐츠를 기반으로 해당 데이터베이스 및 데이터 테이블을 설정하고 필드를 정렬해야 합니다.
그런 다음 cmd를 입력하고 다음을 입력하세요.
php -f d:\jianshu\spider.php
다음과 같이 실행하세요.
데이터를 열고 살펴보세요. 모든 것을 캡처하셨나요?
위 내용은 PHP 크롤러 프레임워크를 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!