2010-02-23 5 views
0

는 다음 URL을 참조하십시오 WWW에이 형식의 모든 페이지의 목록을 검색 할 수있는 방법은특정 유형의 웹 주소를 검색하는 방법은 무엇입니까?

http://en.wikipedia.org/wiki/1_(number)

http://en.wikipedia.org/wiki/10_(number)

http://en.wikipedia.org/wiki/100_(number)

http://en.wikipedia.org/wiki/10000_(number)

있습니까? 일부 웹 사이트는 어떤 형식의 URL을 몇 가지 내용을 제시 여부를 알고 싶다면

+0

나는 당신이 원하는 무엇을 이해하지? 웹 페이지의 내용에 'grep'을 사용하거나 WWW에서 정규 표현식과 일치하는 모든 URL을 찾고 싶습니까? – Kaltezar

+0

'grep'을 동사로 사용했습니다 ... "정규식과 일치하는 WWW에서 모든 URL을 찾고 싶습니다." – Lazer

답변

1

해결해야 할 두 가지 문제가 있습니다.

첫 번째 : 당신은 세계 모든 URL의 실제 중앙 디렉토리가없는, 심지어 당신이 모든 사이트에 사이트 맵을 필요가 없습니다 당신은 알고

아이디어는 검색 여부를 확인하는 것입니다 엔진 (Google 또는 기타)을 사용하면 검색을 위해 콘텐츠 수준 대신 URL 수준에서 작업 할 수 있습니다. 그런 다음 정규 표현식과 일치하는 사이트 목록을 반환하고 검색을 시도 할 수있는 검색어를 생성합니다.

두 번째 : 자원으로 기능을 노출 할 수 있습니다 특정 웹 서비스를 들어, 정규식

당신은이 문제를 피하기 위해 몇 가지 검사를 사용할 수 일치 무한 URL 목록을 가질 수있다.

그건 그렇고, 모든 검색 엔진과 같은 문제에 직면하고 있습니다 ... 모든 웹 목록을 만들고 있습니다. 아무도이 문제를 해결하지 못했습니다.

편집 : webcrawler 기본 알고리즘

take a list of seed sites 
for each seed 
    parse the webpage returned 
    add each link found in the page to the seed list 
    apply some algorithms for referencing the page to several keywords in a db 
+0

'모든 웹 인벤토리 만들기 '. 인벤토리가없는 검색 엔진은 어떻게 검색합니까? – Lazer

+0

그들은 인벤토리를 수행합니다. 그들은'webcrawler'를 사용하여 내가 답변에 넣은 것과 같은 알고리즘을 따르는 WWW의 디렉토리를 만듭니다. 그러나 우주와 마찬가지로 웹은 끊임없이 커지거나 붕괴되기 때문에 완전한 웹 인벤토리를 만들 수 없습니다. – Kaltezar

1

보통 grep -E "http://en.wikipedia.org/wiki/10*_\(number\)" list_of_urls

는, 당신은 몇 가지 가능성이있다.

  1. list_of_urls를 잡고 grep에서 사용할 수있는 몇 가지 사이트 맵이 있습니다. (http://en.wikipedia.org/wiki/Special:AllPages)
  2. 이러한 주소의 목록을 작성하고 시도해야합니다. HTTP 서버가 모든 페이지를 광고하는 표준 방법은 없습니다.
  3. Google의 방식 - 링크를 따라 사이트를 크롤링하므로 모든 공개 페이지를 찾은 다음 작성한 목록에서 검색 할 수 있습니다.

또한, 구글은 그들도 당신을 도울 수 allinurl:site: 키워드를 지원합니다.

관련 문제