PHP와 phpSpider를 사용하여 웹페이지에서 필요한 정보를 추출하는 방법은 무엇입니까?

王林
풀어 주다: 2023-07-22 21:04:01
원래의
757명이 탐색했습니다.

PHP 및 phpSpider를 사용하여 웹페이지에서 필요한 정보를 추출하는 방법은 무엇입니까?

인터넷의 급속한 발전과 함께 웹페이지에 담긴 정보의 양도 늘어나고 있습니다. 방대한 웹 페이지에서 필요한 정보를 정확하고 효율적으로 추출하는 방법은 많은 개발자가 직면한 문제가 되었습니다. 웹 개발에 널리 사용되는 언어로서 PHP는 풍부한 라이브러리와 도구를 제공합니다. 그중 phpSpider는 웹 페이지 데이터를 효율적으로 추출하는 데 도움이 되는 강력한 크롤러 프레임워크입니다.

이 기사에서는 PHP와 phpSpider를 사용하여 웹 페이지에서 필요한 정보를 추출하는 간단한 웹 크롤러를 구축하는 방법을 소개합니다.

1. phpSpider 설치

먼저 phpSpider를 설치해야 합니다. phpSpider는 Composer를 통해 설치할 수 있는 PHP 기반 크롤러 프레임워크입니다. 명령줄에서 다음 명령을 실행합니다.

composer require php-spider/phpspider
로그인 후 복사

2. 크롤러 코드 작성

다음으로 크롤러 코드 작성을 시작합니다. 먼저 spider.php라는 파일을 만들고 여기에 phpSpider의 자동 로딩 파일을 삽입합니다.

<?php

require 'vendor/autoload.php';

use phpspidercorephpspider;

// 创建一个爬虫对象
$spider = new phpspider();

// 设置爬虫的初始URL
$spider->add_start_url('http://www.example.com');

// 设置爬虫的抓取规则
$spider->on_extract_page = function ($page, $data) {

    // 在此处编写提取所需信息的代码
    // 可以使用正则表达式、XPath或CSS选择器来定位和提取

    return $data;
};

// 启动爬虫
$spider->start();
로그인 후 복사

위 코드에서는 크롤러 개체 $spider를 만들고 크롤러의 초기 URL을 http://www.example.com으로 설정했습니다. 다음으로 페이지를 추출할 때 처리할 콜백 함수 $spider->on_extract_page를 정의합니다. 이 콜백 함수 내에서 정규식, XPath 또는 CSS 선택기를 사용하여 필요한 정보를 찾고 추출할 수 있습니다.

3. 필요한 정보를 찾아 추출하세요

크롤러의 콜백 기능에서 정규식, XPath 또는 CSS 선택기를 사용하여 필요한 정보를 찾고 추출할 수 있습니다. CSS 선택자를 예로 들어 웹페이지에서 제목과 본문을 추출해야 한다고 가정하면 콜백 함수를 다음과 같이 수정할 수 있습니다.

$spider->on_extract_page = function ($page, $data) {

    // 使用CSS选择器定位标题和正文的元素
    $title = $page['raw']['headers']['title'][0];
    $content = $page['raw']['content'];

    // 提取标题和正文的文本内容
    $data['title'] = $title;
    $data['content'] = strip_tags($content);

    return $data;
};
로그인 후 복사

위 코드에서는 $page['raw']를 사용합니다. ['headers'][' title'][0] 웹페이지 제목을 가져오려면 $page'raw' 를 사용하여 웹페이지의 원본 콘텐츠를 가져옵니다. 그런 다음 Strip_tags 함수를 사용하여 텍스트의 HTML 태그를 제거하고 추출된 제목과 텍스트를 $data 배열에 저장합니다.

4. 추출 결과 저장

마지막으로 추출된 결과를 데이터베이스, 파일 또는 기타 저장 매체에 저장할 수 있습니다. 파일로 저장하는 것을 예로 들면, 콜백 함수를 다음과 같이 수정할 수 있습니다.

$spider->on_extract_page = function ($page, $data) {

    // 使用CSS选择器定位标题和正文的元素
    $title = $page['raw']['headers']['title'][0];
    $content = $page['raw']['content'];

    // 提取标题和正文的文本内容
    $data['title'] = $title;
    $data['content'] = strip_tags($content);

    // 保存提取结果到文件中
    file_put_contents('extracted_data.txt', var_export($data, true), FILE_APPEND);

    return $data;
};
로그인 후 복사

위 코드에서는 file_put_contents 함수를 사용하여 $data 배열을 텍스트 형식으로 extract_data.txt 파일에 저장하고, var_export 함수를 사용하여 배열을 문자열 형식으로 변환합니다.

5. 크롤러 실행

코드 작성이 끝나면 크롤러를 실행할 수 있습니다. 명령줄에서 다음 명령을 실행합니다.

php spider.php
로그인 후 복사

위 명령을 실행하면 크롤러는 초기 URL부터 시작하여 웹페이지를 크롤링하고 추출 규칙에 따라 필요한 정보를 찾아서 추출한 후 추출 결과를 다음 폴더에 저장합니다. 파일.

요약:

PHP와 phpSpider를 통해 웹페이지에서 데이터를 쉽게 추출할 수 있습니다. 간단한 코드를 작성하고 간단한 추출 규칙을 정의하면 방대한 웹 페이지에서 필요한 정보를 빠르게 추출할 수 있습니다. 물론 이는 phpSpider의 기본 사용법일 뿐이며 다양한 프로젝트의 요구 사항을 충족할 수 있는 더욱 강력한 기능과 유연한 구성 옵션도 제공합니다.

위 내용은 PHP와 phpSpider를 사용하여 웹페이지에서 필요한 정보를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!