reppy

צילום מסך תוכנה:
reppy
פרטי תוכנה:
גרסה: 0.1.0
טען תאריך: 11 May 15
מפתחים: Dan Lecocq
רשיון: ללא תשלום
פופולריות: 5

Rating: nan/5 (Total Votes: 0)

reppy התחיל מתוך חוסר התמיכה בmemoization מנתחי robots.txt אחרים נתקלו, וחוסר התמיכה בסריקה-עיכוב וSitemap בrobotparser המובנה.
התאמה
חבילה זו תומכת 1996 RFC, כמו גם תכונות נוספות מיושמות-נפוצה, כמו התאמה כללי, זחילה-עיכוב, ומפות אתר. ישנן גישות שונות להתאמה אפשר ואל תאפשר. גישה אחת היא להשתמש במשחק הארוך ביותר. נוסף הוא להשתמש הספציפי ביותר. חבילה זו בוחרת לבצע את ההוראה שהיא הארוך ביותר, להיות שזה אחד שהוא ספציפי ביותר ההנחה - מונח שהוא קצת קשה להגדיר בהקשר זה.

שימוש

הדרך הקלה ביותר לשימוש reppy היא רק כדי לשאול אם כתובת אתר או כתובות היא / מותרת:
reppy יבוא
# זה במרומז מביא robot.txt של example.com
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']
# שאילתות אצווה אפילו נתמכות accross כמה תחומים (אם כי שליפות לא נעשות במקביל)
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 .read ('http://example.com/robots.txt') ()
r = reppy.parse (נתונים)
תפוגה
היתרון העיקרי שיש להביא reppy robots.txt בשבילך הוא שזה יכול באופן אוטומטי לאחר refetch נתוניו פגו. זה שקוף לחלוטין לך, כך שאתה אפילו לא צריך לחשוב על זה - פשוט להמשיך להשתמש בו כרגיל. או, אם אתה מעדיף, אתה יכול להגדיר את זמן היציאה לחיים שלך, שגובר:
reppy יבוא
r = reppy.fetch ('http://example.com/robots.txt')
r.ttl
# => 10800 (כמה זמן לחיות?)
r.expired ()
# => False (יש לו פג?)
r.remaining ()
# => 10798 (כמה זמן עד שיפוג)
r = reppy.fetch ('http://example.com/robots.txt', TTL = 1)
# חכה 2 שניות
r.expired ()
# => נכון
שאילתות
Reppy מנסה לעקוב אחר המארח, כך שאתה לא צריך. זה נעשה באופן אוטומטי בעת השימוש להביא, או לחלופין אתה יכול לספק את כתובת האתר שהבאת אותו מעם לנתח. פעולה זו מאפשרת לך לספק בדיוק את הנתיב כאשר שאילתות. אחרת, עליך לספק את כל כתובת האתר:
# זה אפשרי
r = reppy.fetch ('http://example.com/robots.txt')
r.allowed ('/')
r.allowed (['/ שלום', '/ אהלן'])
# וכך הוא זה
נתונים = urllib2.urlopen .read ('http://example.com/robots.txt') ()
r = reppy.parse (נתונים, url = 'http: //example.com/robots.txt')
r.allowed (['/', '/ שלום', '/ אהלן'])
# עם זאת, אנחנו לא יודעים במובלע שתחום אלה מ
reppy.allowed (['/', '/ שלום', '/ אהלן'])
סריקה-עיכוב וSitemaps
Reppy גם חושף את הלא-RFC, אבל בשימוש נרחב סריקה-עיכוב וSitemaps תכונות. עיכוב הזחילה נחשב על בסיס סוכן לכל משתמש, אבל Sitemaps נחשבים גלובלי. אם הם לא צוינו, עיכוב הזחילה הוא אין, ומפות אתר היא רשימה ריקה. לדוגמא, אם זה robots.txt שלי:
משתמש-סוכן: *
סריקה-עיכוב: 1
מפת אתר: http://example.com/sitemap.xml
מפת אתר: http://example.com/sitemap2.xml
אז אלה נגישים:
עם קובץ ('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 התאמה
אתה יכול לספק סוכן משתמש על פי בחירתך להבאת 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 ", userAgentString' someotheragent '=)
נתיב-התאמה
נתיב התאמה תומכת הן * ו$

תכונות :

  • Memoization של robots.txt לכת
  • תפוגה נלקחה מהכותרת פג
  • שאילתות אצווה
  • סוכן משתמש להגדרה להבאת robots.txt
  • ביסוס refetching אוטומטי על פקיעה
  • תמיכה בסריקה-עיכוב
  • תמיכה עבור Sitemaps
  • התאמת תווים כלליים

דרישות :

  • פייתון

תוכנות אחרות של יזם Dan Lecocq

asis
asis

20 Feb 15

aws-trade-in
aws-trade-in

20 Feb 15

תגובות ל reppy

תגובות לא נמצא
להוסיף הערה
הפעל את התמונות!