reppy

Software screenshot:
reppy
Software ətraflı:
Version: 0.1.0
Tarixi Upload: 11 May 15
Geliştirici: Dan Lecocq
Lisenziya: Pulsuz
Məşhurluq: 5

Rating: nan/5 (Total Votes: 0)

reppy rast digər robots.txt parsers olan memoization dəstək olmaması, və daxili robotparser in Tarama gecikmə və Sayt xəritəsi dəstək olmaması başlamışdır.
Eşleme
Bu paket 1996 RFC, eləcə də wildcard eşleme, tarama-gecikmə və haritalarındaki kimi əlavə geniş tətbiq xüsusiyyətləri dəstəkləyir. Imkan verir və Disallow uyğun üçün müxtəlif yanaşmalar var. Bir yanaşma uzun matç istifadə etməkdir. Digər ən xüsusi istifadə etməkdir. Bu çərçivədə müəyyən etmək bir az çətin bir müddət - Bu paket uzun direktiv, ən xüsusi biri olduğunu olan ehtimal riayət etmək seçir.

İstifadə

reppy istifadə etmək üçün asan yol url və ya url / icazə verilir, əgər yalnız xahiş edir:
idxal reppy
# Bu dolayısı example.com nin robot.txt alınır
reppy.allowed (http://example.com/howdy)
# => True
# İndi, bu başa (Expiration` `daha ətraflı) zaman əsasında cached edir
reppy.allowed (http://example.com/hello)
# => True
# Bu da toplu sorğu dəstəkləyir
reppy.allowed (['http://example.com/allowed1', 'http://example.com/allowed2', 'http://example.com/disallowed'])
# => ['Http://example.com/allowed1', 'http://example.com/allowed2']
(Alınır paralel həyata olmadığı halda) Batch sorğu hətta bir neçə domenlərin accross dəstəklənir
reppy.allowed (['http://a.com/allowed', 'http://b.com/allowed', 'http://b.com/disallowed'])
# => ['Http://a.com/allowed', 'http://b.com/allowed']
Bu istifadə etmək üçün olduqca asandır. default davranış urllib2 ilə sizin üçün almaq üçün
idxal reppy
# Xüsusi domen ilə bağlı bir reppy obyekt olun
r = reppy.fetch (http://example.com/robots.txt)
lakin kimi asanlıqla alındı ​​bir simli analiz edə bilər.
idxal urllib2
= urllib2.urlopen (http://example.com/robots.txt) .Daha data ()
r = reppy.parse (data)
Son
reppy sizin üçün robots.txt almaq olan əsas üstünlüyü onun data doldu sonra avtomatik olaraq refetch bilər. Yalnız normal kimi istifadə saxlamaq - hətta bu barədə düşünmək yoxdur, belə ki, sizin üçün tamamilə şəffaf deyil. Tercih etsəniz və ya, siz öz vaxt-to-canlı, üstün tutur bilərsiniz:
idxal reppy
r = reppy.fetch (http://example.com/robots.txt)
r.ttl
# => 10800 (yaşamaq necə uzun?)
r.expired ()
# => Asma və dartma (bu doldu?)
r.remaining ()
# => 10798 (nə qədər sona qədər)
r = reppy.fetch (http://example.com/robots.txt, TTL = 1)
# 2 saniyə gözləyin
r.expired ()
# => True
Sorğu
Reppy siz yoxdur ki, ev sahibi takip çalışır. Siz almaq istifadə Bu avtomatik olaraq edilir və ya isteğe parse ilə onu alındı ​​url təmin edə bilər. Bunu querying zaman yalnız yolu təmin edir. Əks halda, bütün url təmin etməlidir:
# Bu doable deyil
r = reppy.fetch (http://example.com/robots.txt)
r.allowed ('/')
r.allowed (['/ salam', '/ howdy'])
# Və bu deyil
= urllib2.urlopen (http://example.com/robots.txt) .Daha data ()
r = reppy.parse (data, url = 'http: //example.com/robots.txt)
r.allowed (['/', '/ salam', '/ howdy'])
# Ancaq biz dolayısı Bunlardan olan domen bilmirəm
reppy.allowed (['/', '/ salam', '/ howdy'])
Tarama-Delay və Haritaları
Reppy qeyri-RFC ifşa, lakin Tarama-Delay və Haritaları atributları geniş istifadə olunur. tarama gecikmə hər istifadəçi agent əsasında qəbul edilir, lakin sitemaps qlobal hesab edilir. Onlar müəyyən deyilsə, tarama gecikmə None və sitemaps boş siyahısı. Məsələn, bu mənim robots.txt əgər:
User-agent: *
Tarama-delay: 1
Sayt haqda məlumat: http://example.com/sitemap.xml
Sayt haqda məlumat: http://example.com/sitemap2.xml
Sonra bu erişilebilir:
f kimi fayl (myrobots.txt ',' r ') ilə:
& Nbsp; r = reppy.parse (f.read ())
r.sitemaps
# => ['Http://example.com/sitemap.xml', 'http://example.com/sitemap2.xml']
r.crawlDelay
# => 1
Eşleme User-Agent
Siz robots.txt alma üçün seçdiyiniz bir istifadəçi agent təmin edə bilər, və sonra biz uyğun istifadəçi agent string ilk əvvəl / görünür nə öndeğer edir. Məsələn, siz MyCrawler / 1.0 "kimi istifadəçi agent təmin əgər, sonra biz User-agent qarşı uyğun string kimi MyCrawler" istifadə edəcəyik. Müqayisə hal-hissiz və biz User-Agent joker bilmir. Bu default sizə uyğun deyilsə, bir alternativ təmin edə bilər:
# Bu default tərəfindən "myuseragent qarşı uyğun gələcək
r = reppy.fetch (http://example.com/robots.txt, KullanıcıAracısı = 'MyUserAgent / 1.0)
# Bu yerinə 'someotheragent qarşı uyğun gələcək
r = reppy.fetch (http://example.com/robots.txt, KullanıcıAracısı = 'MyUserAgent / 1.0, =' someotheragent "userAgentString)
Path-Matching
Path uyğun dəstəkləyir, həm də * və $

Features

  • götürülməmiş robots.txt bir Memoization

  • Sona header götürülmüşdür
  • Son
  • Batch sorğu
  • robots.txt alma üçün Yapılandırılabilir istifadəçi agent
  • keçdikdən Avtomatik refetching əsaslandırma
  • Crawl gecikmə üçün Support
  • Haritaları üçün Support
  • Joker karakter uyğun

tələblər

  • Python

Geliştirici digər proqram Dan Lecocq

asis
asis

20 Feb 15

aws-trade-in
aws-trade-in

20 Feb 15

Şərh reppy

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!