인터넷 데이터가 빠르게 증가 할 때 대상 웹 사이트의 데이터를 효율적이고 안정적으로 크롤링하는 방법은 개발자에게 일반적인 요구가되었습니다. 이 기사는 PHP 언어와 오픈 소스 도구 Phpspider를 사용하여 대규모 데이터의 자동 모음을 달성하기 위해 효율적인 배치 크롤러 시스템을 구축하는 방법을 자세히 소개합니다.
PhpsPider는 PHP를 기반으로 한 경량 크롤러 프레임 워크입니다. 다중 스레드 동시성을 지원하고 페이지의 컨텐츠 구조를 자동으로 인식하며 URL 관리 및 데이터 추출과 같은 내장 기능이 있습니다. 유연한 제어 및 사용자 정의 로직이 필요한 PHP 개발자에게는 탁월한 선택입니다.
시작하기 전에 PHP와 작곡가가 로컬로 설치되어 있는지 확인하십시오. 그런 다음 다음 명령을 통해 phpspider를 설치하십시오.
composer require duskowl/php-spider
설치가 완료되면 도구에서 제공 한 명령을 사용하여 초기 스크립트를 생성 할 수 있습니다.
vendor/bin/spider create mySpider
위 명령을 실행하면 MySpider.php 파일이 현재 디렉토리에서 생성됩니다. 다음 으로이 파일에 크롤러 로직을 작성합니다.
mySpider.php 파일을 열고 생성자 __construct ()를 편집하고 기어 갈 수 있도록 URL 및 대상 필드를 구성하십시오.
public function __construct()
{
$this->startUrls = [
'http://example.com/page1',
'http://example.com/page2',
'http://example.com/page3',
];
$this->setField('title', 'xpath', '//h1');
$this->setField('content', 'xpath', '//div[@class="content"]');
}
STARTURLS가 초기 페이지 목록 인 경우, SetField 는 페이지 필드를 추출 할 예정이며 XPATH 또는 일반 위치를 지원합니다.
데이터 스크래핑 후 처리 로직을 핸들 () 메소드에 작성해야합니다. 데이터는 터미널, 데이터베이스 또는 기타 스토리지 미디어로 출력 할 수 있습니다.
public function handle($spider, $page)
{
$data = $page['data'];
$url = $page['request']['url'];
echo "URL: $url\n";
echo "Title: " . $data['title'] . "\n";
echo "Content: " . $data['content'] . "\n";
}
로직이 완료되면 다음 명령으로 스크립트를 실행하고 크롤링을 시작할 수 있습니다.
vendor/bin/spider run mySpider
이 프로그램은 구성된 URL을 자동으로 통과하고 데이터 수집 및 프로세스 출력을 제공합니다.
PhpsPider는 성능을 향상 시키거나 타이밍 획득의 요구를 충족시키기 위해 유연한 구성 지원을 제공합니다.
function __construct()
{
$this->concurrency = 5; // 최대 동시성 번호를 설정하십시오5
}
동시 번호 설정은 데이터 크롤링 효율성을 효과적으로 향상시킬 수 있으며 서버 성능에 따라 합리적으로 조정하는 것이 좋습니다.
public function startRequest()
{
$this->addRequest("http://example.com/page1");
$this->addRequest("http://example.com/page2");
$this->addRequest("http://example.com/page3");
}
시스템 타이밍 작업 (CRON)과 결합하여 크롤러를 정기적으로 실행할 수 있습니다.
chmod +x mySpider.php
./mySpider.php
PhpsPider 프레임 워크의 도움으로 강력하고 안정적이며 유연한 PHP 크롤러 프로그램을 신속하게 구축 할 수 있습니다. URL, 필드, 동시성 및 타이밍 작업 메커니즘을 합리적으로 구성함으로써 대규모 데이터의 자동 모음을 효과적으로 실현하여 데이터 분석 및 컨텐츠 마이닝을 강력하게 지원할 수 있습니다.
이 기사에 제공된 실용적인 기술이 PHP 크롤러 개발의 핵심 요점을 신속하게 마스터하는 데 도움이되기를 바랍니다.