백엔드 개발 PHP 튜토리얼 프로그램 PHP 컬렉션 프로그램 원리 분석

프로그램 PHP 컬렉션 프로그램 원리 분석

Jul 29, 2016 am 08:42 AM
프로그램

며칠 고민 끝에 드디어 그 이유를 알아냈습니다. 여기에 적어두고 전문가에게 수정을 요청하세요.
컬렉션 프로그램의 아이디어는 매우 간단합니다. 일반적으로 목록 페이지인 페이지를 열고 거기에 있는 모든 링크의 주소를 가져온 다음 링크를 하나씩 열어서 찾는 것입니다. 우리가 관심을 갖고 있는 것. 발견되면 데이터베이스에 넣거나 다른 처리를 하십시오. 아주 간단한 예를 들어 이야기해 보겠습니다.
먼저 컬렉션 ​​페이지(일반적으로 목록 페이지)를 결정합니다. 여기의 대상은 http://www.jb51.net/article/11/index.htm입니다. 이것은 목록 페이지이며, 우리의 목적은 이 목록 페이지에 있는 모든 기사를 수집하는 것입니다.
목록 페이지가 있습니다. 첫 번째 단계는 목록 페이지를 열고 해당 콘텐츠를 프로그램에 통합하는 것입니다. 일반적으로 fopen 또는 file_get_contents 두 가지 함수가 사용됩니다. 여기서는 fopen을 예로 사용합니다. 그것을 여는 방법? 매우 간단합니다. $source=fopen("http://www.jb51.net/article/11/index.htm",'r') 실제로 해당 내용이 우리 프로그램에 통합되었습니다. 획득한 $source는 처리할 수 있는 텍스트가 아니라 리소스이므로 fread 함수를 사용하여 내용을 변수로 읽어옵니다. 예:
$c//www.jb51.net/article/7/all/545.1.htm)]. 소스코드를 보면, 내부 기사의 링크 주소가 모두 다음과 같은 것을 알 수 있습니다<div><a href="http://www.jb51.net/article/10/all/273.1.htm "> 데이터베이스 연결 코드를 함수에 캡슐화하여 읽어야 할 때 호출합니다..</a>
정규식을 작성할 수 있습니다. $count=preg_match_all("/<div class="in_arttitle"><ashref="(. ?)">(. ?)</a>/",$content,$art_list)
$art_list[1][$s] 배열에는 기사의 링크 주소가 포함되어 있습니다. 그리고 $art_list[2][$s]에는 특정 기사의 제목이 포함되어 있습니다. 이쯤 되면 전투의 절반이라고 볼 수 있다.
그런 다음 for 루프를 사용하여 각 링크를 차례로 클릭한 다음 제목과 같은 방식으로 콘텐츠를 가져옵니다. 위의 내용은 온라인에서 찾은 튜토리얼과 비슷하지만, 이 for 루프의 경우 온라인 튜토리얼이 형편없습니다. 처음에는 루프를 돕기 위해 js를 사용했습니다. , 또는 사용된 예를 들어 보겠습니다. 처음에는
for($i=0;$i<20;4i {
중간이 콘텐츠 수집 부분입니다. 한 페이지를 수집했는데 반드시 다른 페이지를 수집해야 합니다
그런데 fopen을 사용하여 링크를 열면 작동하지 않고, 결국에는 작동하지 않습니다. echo "<META HTTP-EQUIV=REFRESH C id를 사용해야 합니다. 다음 숫자는 루핑을 달성하고 여러 페이지를 수집하는 데 도움이 될 수 있습니다. 이것이 진정한 루핑의 핵심입니다.
}
내 두뇌 조금 불편하고 글이 좀 지저분하네요. 전문가의 관점에서는 이것이 문제일 수도 있지만 저 같은 초보자에게는 정말 도움이 됩니다.

위 내용은 프로그램 내용을 포함하여 PHP 수집 프로그램 원리 분석을 소개한 내용으로, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

iPhone에서 Google 지도를 기본 지도로 설정하는 방법 iPhone에서 Google 지도를 기본 지도로 설정하는 방법 Apr 17, 2024 pm 07:34 PM

iPhone에서 Google 지도를 기본 지도로 설정하는 방법

수정: Windows 작업 스케줄러에서 운영자 거부 요청 오류 수정: Windows 작업 스케줄러에서 운영자 거부 요청 오류 Aug 01, 2023 pm 08:43 PM

수정: Windows 작업 스케줄러에서 운영자 거부 요청 오류

Windows 10 및 11에서 얼굴별로 사진을 정렬하는 방법 Windows 10 및 11에서 얼굴별로 사진을 정렬하는 방법 Aug 08, 2023 pm 10:41 PM

Windows 10 및 11에서 얼굴별로 사진을 정렬하는 방법

특정 앱에 대해 iPhone 방향 잠금을 자동으로 전환하는 방법 특정 앱에 대해 iPhone 방향 잠금을 자동으로 전환하는 방법 Jun 06, 2023 am 08:22 AM

특정 앱에 대해 iPhone 방향 잠금을 자동으로 전환하는 방법

C++로 간단한 카운트다운 프로그램을 작성하는 방법은 무엇입니까? C++로 간단한 카운트다운 프로그램을 작성하는 방법은 무엇입니까? Nov 03, 2023 pm 01:39 PM

C++로 간단한 카운트다운 프로그램을 작성하는 방법은 무엇입니까?

iPhone에 시계 앱이 없습니다. 해결 방법 iPhone에 시계 앱이 없습니다. 해결 방법 May 03, 2024 pm 09:19 PM

iPhone에 시계 앱이 없습니다. 해결 방법

작업 스케줄러를 사용하여 웹사이트를 여는 방법 작업 스케줄러를 사용하여 웹사이트를 여는 방법 Oct 02, 2023 pm 11:13 PM

작업 스케줄러를 사용하여 웹사이트를 여는 방법

Microsoft Store에서 앱을 빠르게 제거하는 방법 Microsoft Store에서 앱을 빠르게 제거하는 방법 Jul 12, 2023 pm 09:25 PM

Microsoft Store에서 앱을 빠르게 제거하는 방법

See all articles