reppy

نرم افزار تصویر:
reppy
جزئیات نرم افزار:
نسخه: 0.1.0
ها تاریخ: 11 May 15
توسعه دهنده: Dan Lecocq
پروانه: رایگان
محبوبیت: 5

Rating: nan/5 (Total Votes: 0)

در reppy آغاز شده از عدم حمایت memoization در دیگر تجزیه کننده های robots.txt را مواجه می شوند، و عدم حمایت از خزیدن تاخیر و نقشه سایت در ساخته شده در robotparser.
مطابق
این بسته پشتیبانی از سال 1996 RFC، و همچنین ویژگی های اضافی معمولا-اجرا، مانند تطبیق کلمات، خزیدن تاخیر و نقشه. روش های مختلف به تطبیق اجازه ندهید وجود دارد. یکی از این روش این است که استفاده طولانی ترین مسابقه. دیگر این است که استفاده از خاص ترین. این بسته را انتخاب به دنبال دستور این است که طولانی ترین، فرض می شود که آن را به یکی این است که خاص ترین - یک اصطلاح است که کمی مشکل به تعریف در این زمینه.
استفاده
ساده ترین راه برای استفاده از reppy است که فقط بپرسید که آیا یک آدرس یا URL ها است / اجازه:
واردات 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']
# دسته ای نمایش داده شد حتی سراسر چندین دامنه پشتیبانی (هر چند بازخوانی به صورت موازی انجام نمی شود)
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 را برای شما است که آن را به طور خودکار می تواند پس از داده های آن تمام شده است refetch. این کاملا به شما شفاف، بنابراین شما حتی نمی باید در مورد آن فکر می کنم - فقط نگه داشتن با استفاده از آن به صورت عادی. یا اگر شما ترجیح می دهم، شما می توانید زمان به زندگی خود را، که تقدم مجموعه:
واردات reppy
R = reppy.fetch ('http://example.com/robots.txt')
r.ttl
# => 10800 (چه مدت به زندگی می کنند؟)
r.expired ()
# => کاذب (آن تمام شده است؟)
r.remaining ()
# => 10798 (چه مدت تا زمانی که به پایان می رسد)
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
سپس این در دسترس هستند:
با فایل ('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
کاربر عامل تطبیق
شما می توانید یک عامل کاربر از انتخاب شما برای دریافت robots.txt را فراهم می کند، و پس از آن رشته عامل کاربر ما مطابقت است به آنچه قبل از اولین / نظر می رسد قصور. برای مثال، اگر شما را فراهم عامل کاربر را به عنوان 'MyCrawler / 1.0، پس از آن خواهیم' MyCrawler را به عنوان رشته استفاده برای مطابقت برابر عامل کاربر. مقایسه حروف حساس است و ما Wildcard ها در کاربری عامل پشتیبانی نمی کند. اگر این طور پیش فرض برای شما مناسب نیست، شما می توانید یک جایگزین ارائه:
# این را در برابر '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 خودکار در انقضا
پشتیبانی از خزیدن تاخیر
پشتیبانی از نقشه سایت
تطبیق کلمات

در مورد نیاز:

پایتون

نرم افزار های دیگر از توسعه دهنده Dan Lecocq

aws-trade-in
aws-trade-in

20 Feb 15

asis
asis

20 Feb 15

نظرات به reppy

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!