reppy

Software kuvakaappaus:
reppy
Ohjelmiston tiedot:
Versio: 0.1.0
Lähetyksen päivämäärä: 11 May 15
Kehittäjä: Dan Lecocq
Lupa: Vapaa
Suosio: 5

Rating: nan/5 (Total Votes: 0)

reppy aloitti puutteesta memoization tukea muissa robots.txt jäsentimet kohdanneet, ja tuen puutetta Crawl-viive ja Sitemap in sisäänrakennetun robotparser.
Vastaavat
Paketti tukee 1996 RFC, sekä muita yleisesti toteutettu ominaisuuksia, kuten jokerimerkkejä, indeksointi-viive, ja sitemaps. On olemassa erilaisia ​​lähestymistapoja matching Salli ja Älä salli. Yksi tapa on käyttää pisin ottelussa. Toinen on käyttää tarkin. Tämä paketti valitsee seurata direktiivin, joka on pisin, olettamus, että se on yksi, joka on tarkin - termi, joka on hieman vaikea määritellä tässä yhteydessä.

Käyttö

Helpoin tapa käyttää reppy on vain kysyä, jos URL tai URL on / ovat sallittuja:
tuonti reppy
# Tämä implisiittisesti hakee example.com n robot.txt
reppy.allowed ('http://example.com/howdy')
# => True
# Nyt, se välimuistissa perustuu, kun se tulisi päättyä (lue lisää `Expiration`)
reppy.allowed ('http://example.com/hello')
# => True
# Se myös tukee erän kyselyt
reppy.allowed (['http://example.com/allowed1', 'http://example.com/allowed2', 'http://example.com/disallowed'])
# => ['Http://example.com/allowed1', 'http://example.com/allowed2 "]
# Erä kyselyt ovat jopa tuetaan accross useita verkkotunnuksia (tosin n hakeminen ei tehdä rinnakkain)
reppy.allowed (['http://a.com/allowed', 'http://b.com/allowed', 'http://b.com/disallowed'])
# => ['Http://a.com/allowed', 'http://b.com/allowed "]
Se on melko helppo käyttää. Oletusarvoisesti hakea sen sinulle urllib2
tuonti reppy
# Tee reppy objekti liittyy tiettyyn alaan
r = reppy.fetch ('http://example.com/robots.txt')
mutta voit vain yhtä helposti jäsentää merkkijono, joka olet haettu.
tuonti urllib2
data = urllib2.urlopen ('http://example.com/robots.txt') .Lue ()
r = reppy.parse (tiedot)
Viimeinen
Tärkein etu, reppy noutaa robots.txt sinulle on, että se voi automaattisesti refetch jälkeen tiedot ovat vanhentuneet. Se on täysin läpinäkyvä, joten sinun ei tarvitse edes ajatella sitä - vain pitää käyttää sitä normaalisti. Tai, jos et halua, voit asettaa oman aika-to-live, joka on ensisijainen:
tuonti reppy
r = reppy.fetch ('http://example.com/robots.txt')
r.ttl
# => 10800 (Kuinka kauan elää?)
r.expired ()
# => False (Onko se vanhentunut?)
r.remaining ()
# => 10798 (Kuinka kauan kunnes se vanhenee)
r = reppy.fetch ('http://example.com/robots.txt', TTL = 1)
# Odota 2 sekuntia
r.expired ()
# => True
Kyselyt
Reppy yrittää seurata isäntä jotta sinun ei tarvitse. Tämä tapahtuu automaattisesti, kun käytät hakea, tai voit halutessasi antaa url sinulle haki sen kanssa parse. Näin voit tarjota juuri polun istä. Muussa tapauksessa sinun on annettava koko url:
# Tämä on toteutettavissa
r = reppy.fetch ('http://example.com/robots.txt')
r.allowed ('/')
r.allowed (['/ hei "," / howdy'])
# Ja niin on tämä
data = urllib2.urlopen ('http://example.com/robots.txt') .Lue ()
r = reppy.parse (data, url = 'http: //example.com/robots.txt')
r.allowed (['/', '/ hei "," / howdy'])
# Emme kuitenkaan ole epäsuorasti tiedä mikä verkkotunnuksen nämä ovat peräisin
reppy.allowed (['/', '/ hei "," / howdy'])
Crawl-Delay ja Sivustokarttojen
Reppy myös altistaa ei-RFC, mutta laajalti käytetty Crawl-Delay ja Sivustokarttojen attribuutteja. Indeksointi viive pidetään per-user agent pohjalta, mutta sitemaps pidetään maailmanlaajuista. Jos niitä ei ole määritelty, indeksointi viive on Ei mitään, ja sitemaps on tyhjä lista. Esimerkiksi jos tämä on minun robots.txt:
User-agent: *
Crawl-viive: 1
Sivukartta: http://example.com/sitemap.xml
Sivukartta: http://example.com/sitemap2.xml
Sitten nämä ovat saatavilla:
tiedostojen ('myrobots.txt', 'r') kuin f:
& Nbsp; r = reppy.parse (f.read ())
r.sitemaps
# => ['Http://example.com/sitemap.xml', 'http://example.com/sitemap2.xml "]
r.crawlDelay
# => 1
User-Agent Vastaavat
Voit antaa user agent valitsemallasi hakeminen robots.txt, ja sen jälkeen User Agent String sovitamme on oletusarvo, mikä näyttää ennen ensimmäistä /. Esimerkiksi, jos annat käyttäjälle ainetta "MyCrawler / 1.0", niin käytämme "MyCrawler", koska merkkijono vastaamaan vastaan ​​User-agent. Vertailut ovat Kirjainkoolla, ja emme tue jokerimerkkejä User-Agent. Jos tämä oletus ei sovi sinulle, voit tarjota vaihtoehto:
# Tämä täsmää vastaan ​​"myuseragent" oletuksena
r = reppy.fetch ('http://example.com/robots.txt', useragent = 'MyUserAgent / 1.0')
# Tämä täsmää vastaan ​​"someotheragent" sijasta
r = reppy.fetch ('http://example.com/robots.txt', useragent = 'MyUserAgent / 1,0', userAgentString = 'someotheragent')
Path-Vastaavat
Polku matching tukee sekä * ja $

Ominaisuudet

  • Memoization Haettujen robots.txt
  • vanheneminen otettu Expires otsikko
  • Erä kyselyt
  • Konfiguroitavat user agent hakemalla robots.txt
  • Automaattinen refetching perustaen vanhentuessa
  • Tuki indeksointi-viive
  • Tuki Sivustokartat
  • Jokerihakua

vaatimukset

  • Python

Muu ohjelmistojen kehittäjä Dan Lecocq

aws-trade-in
aws-trade-in

20 Feb 15

asis
asis

20 Feb 15

Kommentit reppy

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!