reppy

소프트웨어 스크린 샷:
reppy
소프트웨어 정보:
버전: 0.1.0
업로드 날짜: 11 May 15
개발자: Dan Lecocq
라이센스: 무료
인기: 5

Rating: nan/5 (Total Votes: 0)

reppy가 발생 다른 robots.txt를 파서에 memoization 지원의 부족, 그리고 내장 robotparser에서 크롤링 지연 및 사이트 맵에 대한 지원의 부족에서 시작했다.
어울리는
이 패키지는 1996 년 RFC뿐만 아니라 와일드 카드 매칭, 탐색 지연 및 사이트 맵 등을 추가 일반적으로 구현 된 기능을 지원합니다. 허용 및 금지 일치에 대한 다양한 접근 방법이있다. 한 가지 방법은 가장 긴 매치를 사용하는 것이다. 또 최를 사용하는 것이다. 이러한 맥락에서 정의하는 조금 어려운 용어 -이 패키지는 가장 긴 지시문이 가장 고유 한 있다는 것을 가정을 따르도록 선택합니다.
용법
reppy를 사용하는 가장 쉬운 방법은 URL 또는 URL이 / 허용되는 경우 그냥 부탁하는 것입니다 :
수입 reppy
#이 암시 example.com의있는 robot.txt를 꺼냅니다
reppy.allowed ( 'http://example.com/howdy')
# => 트루
# 지금, 그것은이 만료 (Expiration``에서 자세한 내용을)해야 할 때를 기반으로 캐시 된
reppy.allowed ( 'http://example.com/hello')
# => 트루
# 또한 일괄 쿼리를 지원합니다
reppy.allowed ([ 'http://example.com/allowed1', 'http://example.com/allowed2', 'http://example.com/disallowed'])
# => [ 'http://example.com/allowed1', 'http://example.com/allowed2']
(페치는 병렬로 수행되지 않지만) # 배치 쿼리도 여러 도메인을 건너 지원
reppy.allowed ([ 'http://a.com/allowed', 'http://b.com/allowed', 'http://b.com/disallowed'])
# => [ 'http://a.com/allowed', 'http://b.com/allowed']
그것은 사용하기 매우 쉽습니다. 기본 동작은 urllib2를 당신을 위해 그것을 가져 오는 것입니다
수입 reppy
# 특정 도메인과 관련된 reppy 개체를 확인
R = reppy.fetch ( 'http://example.com/robots.txt')
하지만 당신은 쉽게 당신이 가져온 문자열을 구문 분석 할 수 있습니다.
수입 urllib2를
= urllib2.urlopen ( 'http://example.com/robots.txt') .read 데이터 ()
R = reppy.parse (데이터)
만료
reppy 당신을위한의 robots.txt를 가져 오는 데 가장 큰 장점은 데이터가 만료 된 후 자동으로 다시 반입 할 수 있다는 것입니다. 다만 정상으로 계속 사용 - 당신이 그것에 대해 생각하지 않아도 그것은 당신에게 완전히 투명합니다. 당신이 선호하는 경우 또는, 당신은 당신의 자신의 활동 시간, 우선 설정할 수 있습니다 :
수입 reppy
R = reppy.fetch ( 'http://example.com/robots.txt')
r.ttl
# => 10800 (Live에 얼마나?)
r.expired ()
# => 거짓 (이 만료?)
r.remaining ()
# => 10,798 (얼마나이 만료 될 때까지)
R = reppy.fetch ( 'http://example.com/robots.txt'TTL = 1)
# 2 초 동안 기다립니다
r.expired ()
# => 트루
쿼리
Reppy 당신이 할 필요가 없도록 호스트를 추적하려고합니다. 당신이 가져 사용할 때 자동으로 수행하거나, 선택적으로 구문 분석과에서를 가져 URL을 제공 할 수 있습니다. 이렇게하면 쿼리 할 때 그냥 경로를 제공 할 수 있습니다. 그렇지 않으면, 당신은 전체 URL을 제공해야합니다 :
#이 행할
R = reppy.fetch ( 'http://example.com/robots.txt')
r.allowed ( '/')
r.allowed ([ '/ 안녕하세요', '/ 안녕하세요'])
# 그래서입니다
= urllib2.urlopen ( 'http://example.com/robots.txt') .read 데이터 ()
R = reppy.parse (데이터, URL = 'HTTP : //example.com/robots.txt')
r.allowed ([ '/', '/ 안녕하세요', '/ 안녕하세요'])
# 그러나, 우리는 암묵적으로 이러한에서있는 도메인 모른다
reppy.allowed ([ '/', '/ 안녕하세요', '/ 안녕하세요'])
크롤링 - 지연 및 사이트 맵
Reppy 또한 비 RFC를 노출하지만 크롤링-지연 및 사이트 맵 속성 널리 사용. 크롤링 지연은 사용자 별 에이전트 기초로 간주되지만, 사이트 맵 글로벌 여겨진다. 그것들이 지정되어 있지 않을 경우, 크롤링 지연은 아무도 없으며, 사이트 맵은 빈 목록입니다. 예를 들어,이 제의 robots.txt 인 경우 :
사용자 에이전트 : *
크롤링 지연 : 1
사이트 맵 : http://example.com/sitemap.xml
사이트 맵 : http://example.com/sitemap2.xml
그런 다음이 액세스 할 수 있습니다 :
F와 같은 파일 ( 'myrobots.txt', 'R')과 :
& NBSP; R = reppy.parse (f.read ())
r.sitemaps
# => [ 'http://example.com/sitemap.xml', 'http://example.com/sitemap2.xml']
r.crawlDelay
# => 1
사용자 에이전트 매칭
당신의 robots.txt를 가져 오는에 대한 귀하의 선택의 사용자 에이전트를 제공 할 수 있습니다, 그리고 우리가 일치하는 사용자 에이전트 문자열은 첫 번째 / 전에 나타나는 것을 디폴트로. 예를 들어, 'MyCrawler / 1.0'으로 사용자 에이전트를 제공하는 경우, 우리는 사용자 에이전트에 대해 일치하는 문자열로 'MyCrawler'를 사용합니다. 비교는 대소 문자를 구분하고 있으며, 우리는 사용자 에이전트에 와일드 카드를 지원하지 않습니다. 이 기본값이 마음에없는 경우에는 대안을 제공 할 수 있습니다 :
#이 기본적으로 'myuseragent'에 대해 일치합니다
R = reppy.fetch ( 'http://example.com/robots.txt'의 userAgent = 'MyUserAgent / 1.0')
#이 대신 'someotheragent'에 대해 일치합니다
R = reppy.fetch ( 'http://example.com/robots.txt'의 userAgent = 'MyUserAgent / 1.0', = 'someotheragent을'userAgentString)
경로 - 매칭
경로 일치가 모두 *과 $

이 기능을 지원 가져온 robots.txt에의

Memoization
에서 가져온 만료 헤더 만료
일괄 조회
페치 robots.txt에 대한 구성 사용자 에이전트
만기에 자동 refetching에 내놓고
크롤링 지연에 대한 지원
사이트 맵 지원
와일드 카드 일치

요구 사항 :

파이썬

개발자의 기타 소프트웨어 Dan Lecocq

asis
asis

20 Feb 15

aws-trade-in
aws-trade-in

20 Feb 15

코멘트 reppy

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!