웹 사이트를 크롤링하기 위해 치료를 사용하려고하지만 사이트 맵이나 페이지 인덱스가 없습니다. 치료를 통해 웹 사이트의 모든 페이지를 크롤링하려면 어떻게해야합니까?사이트를 크롤링하는 방법 (치료와 함께 주어진 도메인 URL 만 해당)
항목을 추출하지 않고 사이트의 모든 페이지를 다운로드하면됩니다. 스파이더 규칙의 모든 링크를 따라 설정하면됩니까? 그러나 나는 이런 방식으로 치료가 복제 URL을 피할 것인지 여부를 모른다.
웹 사이트를 크롤링하기 위해 치료를 사용하려고하지만 사이트 맵이나 페이지 인덱스가 없습니다. 치료를 통해 웹 사이트의 모든 페이지를 크롤링하려면 어떻게해야합니까?사이트를 크롤링하는 방법 (치료와 함께 주어진 도메인 URL 만 해당)
항목을 추출하지 않고 사이트의 모든 페이지를 다운로드하면됩니다. 스파이더 규칙의 모든 링크를 따라 설정하면됩니까? 그러나 나는 이런 방식으로 치료가 복제 URL을 피할 것인지 여부를 모른다.
나는 답을 직접 찾았습니다. CrawlSpider 클래스를 사용하면 SgmlLinkExtractor 함수에서 allow =() 변수 만 설정하면됩니다. 문서가 말하듯이 :
(정규 표현식 (또는리스트)) - 추출 할 수 있도록 (절대) URL이 일치해야하는 하나의 정규 표현식 (또는 정규 표현식 목록)을 허용합니다. 주어진 (또는 비어 있지 않은) 경우 모든 링크와 일치합니다.
http://doc.scrapy.org/en/latest/topics/link-extractors.html#topics-link-extractors
왜 웹 사이트에있는 모든 링크를 통해 단지 루프 멀리 기어? – enginefree
@enginefree 모든 링크를 반복하는 것이 실현 가능한 방법이지만, 나는 그것을 치료법으로 설정하는 방법을 모른다. –
항목을 스크랩하고 싶지 않은 이유는 왜 scrapy를 사용하고 싶습니까? 그냥 어떤 웹 사이트 다운 로더를 사용하고 그것은 당신을 위해 모든 것을 할 것입니다 – user2134226