2014-06-07 4 views
0

전체 웹 사이트를 크롤링하고 싶습니다. 구문 분석을 위해 Simple_html_dom을 사용하고 있지만 문제는 한 번에 하나의 웹 페이지 링크 만 필요하다는 것입니다. 시작 (홈페이지) 링크 만 제공하고 해당 웹 사이트의 모든 웹 페이지를 자동으로 크롤링하고 구문 분석해야합니다. 어떤 제안이 어떻게하는 방법?simple_html_dom 전체 웹 사이트를 크롤링합니다.

답변

2

해당 단일 페이지의 DOM을 구문 분석 할 때 동일한 도메인 내의 모든 링크를 배열에 저장하십시오. 그런 다음 구문 분석이 끝나면 배열이 비어 있지 않은지 확인합니다. 그렇지 않은 경우 첫 번째 링크를 가져오고 동일한 작업을 수행하십시오.

(코드 샘플은 파이썬과 유사한 문법으로 작성되었지만 PHP에 쉽게 적용 할 수 있습니다. 광산은 녹슬지 않습니다.)

referenced_links = ['your_initial_page.html'] 

while referenced_links: # if the array isn't empty... 
    crawl_dom(referenced_links[0]) 
    referenced_links.pop(0) # remove the first item in that array 

def crawl_dom(url): 
    # download the url, parse the DOM and append all hyperlinks to the array referenced_links 
관련 문제