هذا هو تطبيق بروتوكول استبعاد Robots.txt للغة GO (Golang).
لبناء وتشغيل اختبارات تشغيل GO في دليل المصدر.
ترحيب دافئ.
شكرًا لك.
كالعادة ، لا يلزم تثبيت خاص ، فقط
استيراد "github.com/temoto/robotstxt"
تشغيل GO GET وأنت مستعد.
بادئ ذي بدء ، تحتاج إلى تحليل بيانات Robots.txt. يمكنك القيام بذلك مع وظائف FromBytes (الجسم [] بايت) (*robotsdata ، خطأ) أو نفسه للسلسلة:
الروبوتات ، err: = robotstxt.frombytes ([] byte ("مستخدم الوكيل: * ndisallow:"))
الروبوتات ، err: = robotstxt.fromstring ("عامل المستخدم: * ndisallow:")
اعتبارًا من 2012-10-03 ، يعد FromBytes الطريقة الأكثر كفاءة ، كل شيء آخر هو غلاف لهذه الوظيفة الأساسية.
هناك عدد قليل من المنشآت المريحة لأغراض مختلفة:
من استجابة HTTP. لا يدعو الاستجابة.
الروبوتات ، err: = robotstxt.fromresponse (resp)
resp.body.close ()
إذا خطأ! = لا شيء {
log.println ("Error Parsing Robots.txt:" ، err.error ())
}
من statusandstring إذا كنت تفضل قراءة البايت (سلسلة) بنفسك. ينطبق رمز التمرير على المنطق التالي بما يتماشى مع تفسير Google لملفات Robots.txt:
- الحالة 2xx -> تحليل الجسم مع FromBytes وتطبيق القواعد المدرجة هناك.
- الحالة 4xx -> السماح للجميع (حتى 401/403 ، على النحو الموصى به من قبل Google).
- آخر (5xx) -> عدم السماح للجميع ، فكر في هذا عدم توفر مؤقت.
تحليل محتوى Robots.txt يبني نوعًا من قاعدة بيانات المنطق ، والتي يمكنك الاستعلام عنها مع (R *robotsdata) Testagent (url ، agent string) (bool).
يعد تمرير الوكيل الصريح مفيدًا إذا كنت ترغب في الاستعلام عن وكلاء مختلفة. بالنسبة لمستخدمي الوكيل الفردي ، هناك خيار فعال: RobotsData.FindGroup (سلسلة المستخدمين) لإرجاع هيكل باستخدام طريقة .Test (سلسلة المسار) و.
استعلام بسيط مع وكيل المستخدم الصريح. كل مكالمة سوف تفحص جميع القواعد.
السماح: = robots.testagent ("/" ، "foobot")
أو الاستعلام عن عدة مسارات ضد وكيل المستخدم نفسه للأداء.
المجموعة: = robots.findgroup ("Barbot")
Group.test ("/")
Group.test ("/download.mp3")
Group.test ("/news/article-2012-1")
المساهمين المحترفين (بالترتيب غير المحدد):
- إيليا غريغوريك (igrigorik)
- مارتن أنجيس (puerkitobio)
- Micha Gorelick (MyNameisfiber)
الالتزام الأولي وغيرها: سيرجي shepelev [email protected]