reppy

Programinė įranga Screenshot:
reppy
Programinė detalės:
Versija: 0.1.0
Įkėlimo datą: 11 May 15
Kūrėjas: Dan Lecocq
Licencija: Nemokamai
Populiarumas: 5

Rating: nan/5 (Total Votes: 0)

reppy prasidėjo iš memoization paramos kitose robots.txt analizatorius, su kuriomis susiduria stokos, ir paramos trūkumo Crawl-vėlavimo ir struktūra built-in robotparser.
Sutampantys
Šis paketas palaiko 1996 RFC, taip pat papildomų visuotinai įgyvendinti funkcijas, kaip pakaitos simbolius, nuskaitymo-vėlavimo ir Sitemap. Yra įvairių požiūrių į atitikimo Leisti ir Neleisti. Vienas būdas yra naudoti ilgiausią rungtynes. Kitas yra naudoti labiausiai specifinė. Šis paketas nusprendžia sekti direktyvą, kuri yra ilgiausia, prielaida yra ta, kad tai vienas, kad yra tiksliausias - terminas, kuris yra šiek tiek sunku apibrėžti šiame kontekste.

Naudojimas

Paprasčiausias būdas naudoti reppy yra tiesiog paklausti, ar URL arba URL yra / yra leidžiama:
importo reppy
# Tai netiesiogiai ima example.com anketa Robot.txt
reppy.allowed (http://example.com/howdy)
# => Tiesa
# Dabar Cached remiantis kai jis turėtų baigtis (skaityti daugiau "Expiration`)
reppy.allowed (http://example.com/hello)
# => Tiesa
# Ji taip pat remia partiją užklausas
reppy.allowed (['http://example.com/allowed1 "," http://example.com/allowed2 "," http://example.com/disallowed'])
# => ['Http://example.com/allowed1 "," http://example.com/allowed2']
# Serija užklausos netgi parėmė šakų visame keliose srityse (nors ima ne daroma lygiagrečiai)
reppy.allowed (['http://a.com/allowed "," http://b.com/allowed "," http://b.com/disallowed'])
# => ['Http://a.com/allowed "," http://b.com/allowed']
Tai gana paprasta naudoti. Nutylėjimą yra paimti ją už jus su urllib2
importo reppy
# Padaryti reppy objektą, susietą su konkrečiu domeno
R = reppy.fetch (http://example.com/robots.txt)
bet jūs galite taip pat lengvai apdoroti eilutę, kad jūs nerealu.
importo urllib2
duomenys = urllib2.urlopen (http://example.com/robots.txt) .read ()
R = reppy.parse (duomenų)
Galiojimo
Pagrindinis privalumas, turintys reppy atnešti robots.txt jums yra tas, kad ji gali automatiškai refetch po jo duomenys yra pasibaigęs. Tai visiškai skaidri, kad jus, todėl jūs neturite net galvoti apie tai - tiesiog laikyti jį naudoti kaip įprasta. Arba, jei pageidaujate, galite nustatyti savo laiko iki-gyvos, kuri turėjo pirmumą:
importo reppy
R = reppy.fetch (http://example.com/robots.txt)
r.ttl
# => 10800 (Kaip ilgai gyventi?)
r.expired ()
# => Neteisingų (Ar ji baigėsi?)
r.remaining ()
# => 10798 (Kaip ilgai, kol jis baigiasi)
r = reppy.fetch ('http://example.com/robots.txt', ttl = 1)
# Palaukite 2 sekundes
r.expired ()
# => Tiesa
Užklausos "
Reppy bando sekti priimančiosios, kad jūs neturite. Tai daroma automatiškai, kai jūs naudojate paimti, arba galite pasirinktinai pateikti URL nerealu jį iš su parse. Tai taip leidžia teikti tik kelias, kai užklausų. Priešingu atveju, jūs turite pateikti visą url:
# Tai Vykdytinas
R = reppy.fetch (http://example.com/robots.txt)
r.allowed ('/')
r.allowed (['/ Hello "," / Labas'])
# Ir taip tai yra
duomenys = urllib2.urlopen (http://example.com/robots.txt) .read ()
R = reppy.parse (duomenų, url = 'http: //example.com/robots.txt)
r.allowed (['/', '/ Hello "," / Labas'])
# Tačiau mes neturime netiesiogiai žinoti, kuris domenas tai yra iš
reppy.allowed (['/', '/ Hello "," / Labas'])
Nuskaitymas delsos ir Sitemap
Reppy taip pat atskleidžia, kad nebuvo RFC, bet plačiai naudojamas nuskaitymo delsos ir Sitemap atributus. Nuskaitymas vėlavimas yra laikomas dėl kiekvienam vartotojui atstovas, tačiau Sitemap yra laikomi pasaulio. Jei tai nenurodyta, nuskaityti vėlavimas yra "Nė vienas, ir Sitemap yra tuščias sąrašas. Pavyzdžiui, jei tai robots.txt:
Vartotojo agentas: *
Nuskaitymas delsos: 1
Svetainės medis: http://example.com/sitemap.xml
Svetainės medis: http://example.com/sitemap2.xml
Tada tai yra prieinama:
su byla ("myrobots.txt", "r") F:
& Nbsp; R = reppy.parse (f.read ())
r.sitemaps
# => ['Http://example.com/sitemap.xml "," http://example.com/sitemap2.xml']
r.crawlDelay
# => 1
"User-Agent Sutampantys
Jūs galite pateikti vartotojo agentas pasirinktą už žavingas robots.txt, tada user-agent styginių mes rungtynės nemokėjo nei, atrodo, iki pirmojo /. Pavyzdžiui, jei jūs pateikiate vartotojo agento "MyCrawler / 1.0", tada mes naudosime "MyCrawler" kaip eilutę rungtynės prieš User-agentas. Palyginimai yra didžiųjų ir mažųjų raidžių, ir mes nepalaikome pakaitos simbolius User-Agent. Jei tai numatytasis jūsų netenkina, galite pateikti alternatyvą:
# Tai bus rungtynės su "myuseragent" pagal nutylėjimą
R = reppy.fetch (http://example.com/robots.txt "USERAGENT = 'MyUserAgent / 1.0")
# Tai bus rungtynės su "someotheragent" vietoj
R = reppy.fetch (http://example.com/robots.txt "USERAGENT = 'MyUserAgent / 1.0", userAgentString =' someotheragent)
"Kelias-Sutampantys
Kelias atitikimo palaiko tiek * ir $

Įranga

  • Memoization Surinkti robots.txt
  • Galiojimo paimti iš baigiasi antraštė
  • Serija užklausas;
  • Konfigūracija vartotojas agentas žavingas robots.txt
  • Automatinis refetching grįsdama ant pabaigos;
  • Parama Crawl-vėlavimo;
  • Parama Sitemap
  • pakaitos simbolius;

Reikalavimai

  • Python,

Kita programinė įranga kūrėjas Dan Lecocq

aws-trade-in
aws-trade-in

20 Feb 15

asis
asis

20 Feb 15

Komentarai reppy

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!